注:运行修改计算机的账号必须具有管理员权限 -reboot参数我设置的5,可能会看不到echo y传递的结果,你可以设置成10.


http://bbs.51cto.com/thread-968398-1.html

受到链接中专家的启发,以及网上的一些资料。


二次更新20151108这次更新主要内容是不需要放在C盘,你可以放在任何一个地方,也可以放在共享目录。
并且不需要再去某个目录下选择对应操作系统的脚本,脚本会自动判断当前系统,也能判断win7是32位还是64位。
附件中带了一个脚本批量替换工具,把所有脚本拖进去。
依次批量更改
abc.com改成你的域名
administrator 改成你的有域权限的帐号
123456改成帐号的密码
192.168.1.x改成域dns地址
然后就可以直接用了。
【AD】WinXP Win7x86/x64 自动加域脚本 更新20151109_第1张图片 






自己写了一个win7x86/64 winxp加域退域脚本。测试DC是Server2008R2。


使用方法。

内部文件

【AD】WinXP Win7x86/x64 自动加域脚本 更新20151109_第2张图片 


改完后打开确认下目标BAT内的Domain,DNS和帐号密码都换成你自己的。


【AD】WinXP Win7x86/x64 自动加域脚本 更新20151109_第3张图片 

选择1的话系统会进行判断当前操作系统并自动选择启动对应的脚本。


界面大致如图


【AD】WinXP Win7x86/x64 自动加域脚本 更新20151109_第4张图片




根据提示一步一步操作。


退域也类似。


这个和链接中的区别是不需要先更改名再重启再加域,而是可以先加域,然后直接改名,重启一次就够了。



xp的需要在管理员帐号下运行。



贴下部分代码:


加域退域.bat

@echo off

color 2f

title 请用系统管理员权限运行此加域脚本

rem %~dp0表示"当前路径\"

::本脚本只在WindowsXPx86&Windows7x86/x64系统测试过

::判断当前操作系统是xp还是win7x86 or win7x64


:start

echo.

echo.

echo. 输入以下数字或字母选择操作

echo. 1.脚本自动判断操作系统并加域改名   成功后10S重新启动

echo. 2.脚本自动判断操作系统并退域后重新加域后    成功后10S重新启动

echo. 3.直接退出输入n即可

set  /p a=:

if %a%==1 goto ver1

if %a%==2 goto ver2

if /i %a%==n goto exit

echo.

echo.

echo 输入错误请重新选择&goto start

echo.

echo.


:ver1

ver |findstr "5.1" >nul&&goto xp

ver |findstr "6.1" >nul&&goto win7


:xp

echo.

echo. 判断当前系统为【WindowsXP X86】操作系统 如与实际不符 请按右上角X退出

ping -n 5 127.0.0.1 >nul

echo %~dp0 |findstr /i ":"

if %errorlevel% EQU 0 goto xplocal

if %errorlevel% NEQ 0 goto xpnet



:xpnet

start "" "%~dp0XPx86net\以管理员权限运行-加域.bat"  

exit


:xplocal

cd /d "%~dp0XPx86"

start "" "以管理员权限运行-加域.bat"

exit



:win7

if /i "%PROCESSOR_IDENTIFIER:~0,3%"=="X86" (goto win7x86 ) else (goto win7x64)


:win7x86

echo.

echo. 判断当前系统为【Windows 7 X86】操作系统 如与实际不符 请按右上角X退出

echo.

ping -n 5 127.0.0.1 >nul

start "" "%~dp0win7x86\以管理员权限运行-加域.bat"  

exit

exit


:win7x64

echo.

echo. 判断当前系统为【Windows 7 X64】操作系统 如与实际不符 请按右上角X退出

echo.

ping -n 5 127.0.0.1 >nul

start "" "%~dp0win7x64\以管理员权限运行-加域.bat"  

exit


:ver2

ver |findstr "5.1" >nul&&goto xp

ver |findstr "6.1" >nul&&goto win7


:xp

echo.

echo. 判断当前系统为【WindowsXP X86】操作系统 如与实际不符 请按右上角X退出

ping -n 5 127.0.0.1 >nul

echo %~dp0 |findstr /i ":"

if %errorlevel% EQU 0 goto xplocal

if %errorlevel% NEQ 0 goto xpnet

:xpnet

start "" "%~dp0XPx86net\以管理员权限运行-退域并加域.bat"  

exit


:xplocal

cd /d "%~dp0XPx86"

start "" "以管理员权限运行-退域并加域.bat"

exit


:win7

if /i "%PROCESSOR_IDENTIFIER:~0,3%"=="X86" (goto win7x86 ) else (goto win7x64)


:win7x86

echo.

echo. 判断当前系统为【Windows 7 x86】操作系统 如与实际不符 请按右上角X退出

echo.

ping -n 5 127.0.0.1 >nul

start "" "%~dp0win7x86\以管理员权限运行-退域并加域.bat"  

exit


:win7x64

echo.

echo. 判断当前系统为【Windows 7x64】操作系统 如与实际不符 请按右上角X退出

echo.

ping -n 5 127.0.0.1 >nul

start "" "%~dp0win7x64\以管理员权限运行-退域并加域.bat"  

exit


:exit

exit



win7x64 加域

@echo off

color 2f

title 请用系统管理员权限运行此加域脚本


set primarydns=192.168.1.x

set domain=abc.com

set admin=administrator

set password=123456


echo.

echo.

echo  运行前请检查脚本内的DNS,DOMAIN,ADMIN,PASSWORD

echo.

echo  在实机操作前请先于虚拟环境下测试过

:start

echo.

echo.                                      

echo  **************************** 是否更改DNS ****************************

echo.更改输入   Y  

echo.不更改输入 N

echo.退出请输入 Q

Set /p DNS=:  

IF /i "%dns%"=="y" GoTo dns

IF /i "%dns%"=="n" GoTo ad

if /i "%dns%"=="q" goto exit

echo 输入错误请重新输入 & goto start


:dns

netsh interface ip add dnsservers name=本地连接 address=%primarydns% index=1


:ad

echo.                                                            

echo  ******************将计算机加入域************

echo.                                      

%~dp0netdom.exe join %computername% /domain:%domain% /UserD:%admin% /PasswordD:%password% |findstr /i "completed" >nul &&goto end ||goto end2


:end

cls

echo 加域成功

echo 下面选择是否更改电脑名

echo.

echo.

echo ****输入要更改的新的电脑名称****

echo.

echo.1.直接重启请输入R

echo.2.不改名直接退出请输入Q

echo.3.输入新电脑名并重启

set /p newname=:

IF /i "%newname%"=="q" goto exit

if /i "%newname%"=="r" goto reboot

echo 改名后5秒后重新启动

ping -n 5 127.0.0.1 >nul

echo y|%~dp0netdom.exe renamecomputer %computername% /newname:%newname% /UserD:%admin% /PasswordD:%password% /reboot:5


:end2

cls

echo.

echo.

echo. 加域失败

echo.

echo %userdnsdomain% |findstr /i ".com" >nul &&echo !电脑可能已加入域,请确认!  

echo.

echo. 其他原因可能是:

echo. 请确认是否用管理权限运行此脚本

echo. 请确认相关设置是否正确

echo. 此脚本10S后关闭

ping -n 10 127.0.0.1 >nul

exit


:reboot

cls

shutdown /r /t 00 /f


:exit

exit



这个其实主要是用来在系统封装后自动加域。


下载链接:


http://down.51cto.com/data/2164333

如有问题,欢迎讨论