color 1e
cd /d C:\\Domain_Migration\\xp
::功能说明与使用说明注意事项
ECHO 请在使用本脚本前修改相应的参数为实际值
set dns1=10.2.0.51
set dns2=10.2.0.41
REM 请设置自己真实环境的域名、域管理员账号和密码
set domainname=xxx.com
set domainadminname=xxx@xxx.com
set domainadminpassword=xxx
::判断是否已经加入域,如果加入了则直接跳转
::wmic ntdomain get domainname | findstr /i \
::if %errorlevel% equ 0 echo 该计算机已经加入域 && goto moveuser
ipconfig /all | findstr /i \该计算机已经加入域,准备转移配置文件 && goto moveuser
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::判断当前登陆用户是否有管理员权限,如果没有则注销后重新以管理员登陆
:admin
ECHO ************************判断当前用户权限******************
net user %username% | findstr \
if %errorlevel% equ 1 (echo 当前用户不是本地管理员,请注销后使用有本地管理员权限的用户登录) else (goto DNS)
set /p logoff=现在要注销吗
if /i \
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::判断当前DNS设置是否为指定地址,如果不是,则清空当前配置后重新设置DNS
:DNS
ECHO *************************更改DNS****************************
netsh interface ip show dns | findstr \已经设置为%dns1% && goto renamecomputername
echo 清理更改现有DNS...
for /f \
set netname=%%j
if \环回\
if \内部\
netsh interface ip delete dns name=\
netsh interface ip add dns name=\
netsh interface ip add dns name=\
)
:back
echo DNS更改完成
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::判断计算机名是否已经更改,如更改则进入下一部分;如未更改是否需要更改计算机名,更改完成后要求重新启动计算机
:renamecomputername
ECHO *********************更改计算机名****************************
set a=%computername%
echo 当前计算机名为:%a%
set /p b=请输入要修改的计算机名称(跳过请输入s):
if /i \
if /i \计算机名不能为空 && goto renamecomputername
wmic computersystem Where name=\
if %errorlevel% equ 1 (echo 更改计算机名失败,请手工更改 && pause && exit) else (echo 计算机名已更改为%b%)
set /p reboot=更改计算机名完成,现在要重起吗?y/n:
if /i \
goto end
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::判断计算机是否已加入域,如加入域则继续下一部分;否则检查相应服务是否启动,自动加入域(用户名密码部分参数需要自行更改)
:joindomain
ECHO ***********************计算机加入域*************************
if /i \
rem 判断服务TCP/IP NetBIOS HELPER服务是否禁用或未启动,如果禁用则更改为自动,未启动则自动启动,否则显示服务已启动
sc query state= inactive | findstr /c:\服务未启动,正在启动服务... && sc config lmhosts start= auto && sc start lmhosts) || echo 服务已启动
if /i \计算机已加入域 && goto moveuser)
if not exist netdom.exe echo 请将netdom工具放到同文件夹下再尝试运行 && goto end

