重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
单位最近要换一批电脑,没钱买高大上的软件,也不准用三方工具。
创新互联专注于井陉网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供井陉营销型网站建设,井陉网站制作、井陉网页设计、井陉网站官网定制、小程序制作服务,打造井陉网络公司原创品牌,更为您提供井陉网站排名全网营销落地服务。
先写个自动设置计算机名和加域的小工具,压压惊。
功能:完成系统设置的最后一步,改计算机名,和加入域。
工作方式:
半自动,中途需要手动输入计算机名。
待改进:可以通过MAC与计算机名的映射表,自动获取当前计算机名,就是全自动了!
Readme:
注意:
修改setdoman.bat,设置域名和域管理员账号和密码
1、首次运行initial-config进行配置,如果没有输入系统当前用户名和密码,系统不会自动登陆。
2、如果是母盘,选择关闭计算机,重启进入U盘备份系统
3、如果是单个电脑选择重启
4、第一次启动提示计算机名,输入计算机名
5、第二次启动加入域,脚本运行完成自动关机
6、完成
------------
ver1
增加了防止单独运行setdomain误删脚本
增加了没有修改默认domain信息会提示手动输入。
文件结构:
└─joindomain-ver1
└─readme.txt # 使用方法
└─initial-config.bat # 初始化设置文件
└─start.bat # 开机调用的文件,通过start再调用改名和加域
└─modifyhostname.bat # 修改计算机名文件
└─setdomain.bat # 加入域文件,还负责清理产生的临时文件
每个脚本都要以管理员身份运行,所以都需要在开头加上下面的代码
@echo off >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
上脚本代码:
initial-config.bat
::--------------inilazition----------- ::当前的账号和密码,重启自动进系统 set /p account-name=当前账户名: set /p account-pw=密码: ::修改注册表,开机自动进入系统 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d %account-pw% /f reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d %account-name% /f ::复制改计算机名和加域程序到临时路径 set source=%~dp0% set dest="C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\" copy %source%modifyhostname.bat %temp%\modifyhostname.bat copy %source%setdomain.bat %temp%\setdomain.bat copy %source%start.bat %dest%"start.bat" echo 程序初始化完成 echo 制作母盘请输入【y】,系统自动关机。 echo 单台电脑输入【n】,系统自动重启。 set /p input-type=y/n: if %input-type%==y ( echo 系统正在关机,请勿操作。 shutdown /s /f /t 2 goto end ) echo 系统正在重启,请误操作。 shutdown /r /f /t 2
start.bat
echo IT自动化工具运行中 if not exist "%temp%\set-temp-flag.flag" ( ::运行修改计算机名脚本 %temp%\modifyhostname.bat ) else ( ::重启后,运行加入域脚本 %temp%\setdomain.bat ) pause
modifyhostname.bat
rem 修改电脑名 set cmscdomain=cmsc.local set /p computer-name=Input computer name: wmic computersystem where "caption='%computername%'" call Rename name='%computer-name%' echo 1>>"%temp%\set-temp-flag.flag" echo %computer-name%修改完成!系统2秒后重启。。。 shutdown /f /r /t 2 pause
setdomain.bat
rem 此工具一闪而过,说明出错了 :: 判断标记文件是否存在,不存在则结束。 set cmscdomain=default set domainuser=default set userpw=default if exist "%temp%\set-temp-flag.flag" ( echo 本名上三行不修改,提示输入域信息。 if %cmscdomain%==default ( set /p cmscdomain="Domain Name:" ) if %domainuser%==default ( set /p domainuser="User Name:" ) if %userpw%==default ( set /p userpw="Password:" ) wmic computersystem where "caption='%computername%'" call JoinDomainOrWorkgroup name="%cmscdomain%" username="%domainuser%" password="%userpw%" Fjoinoptions=1 reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /f reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /f reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /f del "C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\start.bat" del "%temp%\set-temp-flag.flag" del "%~dp0%\modifyhostname.bat" echo done,Please wait shutdown! shutdown /s /f /t 10 del "%~dp0%\setdomain.bat" ) echo 没有找到标记文件,请按步骤运行 pause