单位最近要换一批电脑,没钱买高大上的软件,也不准用三方工具。
先写个自动设置计算机名和加域的小工具,压压惊。
功能:
完成系统设置的最后一步,改计算机名,和加入域。
工作方式:
半自动,中途需要手动输入计算机名。
待改进:可以通过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" )
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
上脚本代码:
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
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
start.bat
echo IT自动化工具运行中
if not exist "%temp%\set-temp-flag.flag" (
::运行修改计算机名脚本
%temp%\modifyhostname.bat
) else (
::重启后,运行加入域脚本
%temp%\setdomain.bat
)
pause
1.
2.
3.
4.
5.
6.
7.
8.
9.
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
1.
2.
3.
4.
5.
6.
7.
8.
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
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
-----------------------------------
©著作权归作者所有:来自51CTO博客作者等你的破船的原创作品,请联系作者获取转载授权,否则将追究法律责任
Windows自动改计算机名和加入域工具
https://blog.51cto.com/yishi/2381844
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/4930.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~