26
2024
01
01:56:26

Windows自动改计算机名和加入域工具

单位最近要换一批电脑,没钱买高大上的软件,也不准用三方工具。


先写个自动设置计算机名和加域的小工具,压压惊。





功能:

完成系统设置的最后一步,改计算机名,和加入域。




工作方式:


 


半自动,中途需要手动输入计算机名。


待改进:可以通过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




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/4930.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: