WinXP、Win7脚本自动加域及用户资料迁移(一).doc_第1页
WinXP、Win7脚本自动加域及用户资料迁移(一).doc_第2页
WinXP、Win7脚本自动加域及用户资料迁移(一).doc_第3页
WinXP、Win7脚本自动加域及用户资料迁移(一).doc_第4页
WinXP、Win7脚本自动加域及用户资料迁移(一).doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WinXP、Win7脚本自动加域及用户资料迁移(一)最近公司要上AD域项目,所有的用户全部从工作组环境切换到域环境,本地账号迁移到域账号。因客户端比较多,仔细研究了一下微软的加域和用户迁移工具,结合在网上搜到的一些脚本,自己编写了一个Windows Xp,Windows 7自动加域及自动迁移用户配置文件的脚本。该脚本使用到了几个工具:1、Netdom.exe:计算机加域用到,XP和Windows 7须使用不同版本,可分别去2003和2008系统光盘里找。其中Windows 7还要使用到netdom.exe.mui文件,该文件可到 2008系统 %windir%system32en-US目录下复制。2、moveuser.exe:XP系统迁移用户配置工具,网上下载或2003系统里面找。3、USMT 4.0工具包:Windows 7用户配置迁移工具。网上下载,如果有安装Win AIK的,可以直接去目录下找,具体路径忘记了。其实这个工具的低版本也可以迁移XP系统,不过感觉比较复杂。一、目录准备收集齐了这几个工具,先在C盘根目录下创建Domain_Migration目录,该目录结构如下图:USMT,Win7,XP三个目录以及Auto.bat、NewSID和使用说明几个文件Xp文件夹下放moveuser.exe,netdom.exe,XpAutoAddDomain.bat Win7文件夹分为下放netdomx64和netdomx86文件夹和Win7x64AutoAddDomain.bat和Win7x86AuroDomain.bat文件,其中netdom中放置netdom.exe,netdom.exe.mui文件,因为X64和x86平台下需要不同的netdom文件二、使用说明1、将Domain_Migration文件夹复制到C盘根目录2、以管理员身份运行 Auto.bat3、如果是XP系统,第一步建议先重置系统SID,更改计算机名和系统SID后重启(win7可跳过此步);重启后再次运行Auto.bat4、选择系统类型,按照提示操作,更改计算机名后必须重启,再次运行Auto.bat加域5、加域后重启,使用临时域管理员登陆,再次运行Auto.bat转移用户配置文件 转移完成后,注销,使用域账号登陆6、删除Domain_Migration文件夹三、bat文件详细说明echo offcolor 1etitle XXX公司加域迁移用户数据脚本echo 请用系统管理员帐户运行本程序,否则加域操作无法正常进行!echo.ECHO *选择操作系统类型*:STARTecho.echo 1: 重置系统SID(NewSID)echo 2: WindowsXPecho 3: Windows7 x86echo 4: Windows7 x64echo q: Quitecho.SET /P OS_type=系统类型1-4 or q:IF %OS_type%=q GoTo EOFIF %OS_type%=1 GoTo NewsidIF %OS_type%=2 GoTo WinXPIF %OS_type%=3 GoTo Win7x86IF %OS_type%=4 GoTo Win7x64echo 选择有误,请重新选择 & GoTo START:WinXpecho 你选择了WinXP系统!call c:Domain_MigrationxpXpAutoAddDomain.batexit:Win7x86echo 你选择了Win7系统32位!if not exist %windir%system32netdom.exe copy c:Domain_Migrationwin7netdomx86netdom.exe %windir%system32 /yif not exist %windir%system32zh-CNnetdom.exe.mui copy c:Domain_Migrationwin7netdomx86netdom.exe.mui %windir%system32zh-CN /yif not exist %windir%system32en-USnetdom.exe.mui copy c:Domain_Migrationwin7netdomx86netdom.exe.mui %windir%system32en-US /yREM 调用Windows 7 x86加域迁移脚本call c:Domain_Migrationwin7Win7x86AutoAddDomain.batexit:Win7x64echo 你选择了Win7系统64位!if not exist %windir%system32netdom.exe copy c:Domain_Migrationwin7netdomx64netdom.exe %windir%system32 /yif not exist %windir%system32zh-CNnetdom.exe.mui copy c:Domain_Migrationwin7netdomx64netdom.exe.mui %windir%system32zh-CN /yif not exist %windir%system32en-USnetdom.exe.mui copy c:Domain_Migrationwin7netdomx64netdom.exe.mui %windir%system32en-US /yREM 调用Windows 7 x64加域迁移脚本call c:Domain_Migrationwin7Win7x64AutoAddDomain.batexit:Newsidecho 你选择了重置系统SID并改计算机名set a=%computername%echo 当前计算机名为:%a%set /p newname=将用 NewSID 重置SID并改计算机名,请输入新计算机名:if %newname%= echo 计算机名不能为空,请重新选择。&pause&endlocal&cls&goto Startecho 即将更新SID,计算机名将从 %computername% 更改为 %Newname% 注:更改SID完成后将重新启动计算机pausec:Domain_Migrationnewsid /a %Newname%goto end:EOFExit*REM 脚本结束2、WinXPAutoAddDomain.bat,更改计算机名,加域,迁移用户配置文件echo offcolor 1ecd /d C:Domain_Migrationxp:功能说明与使用说明注意事项ECHO 请在使用本脚本前修改相应的参数为实际值set dns1=1set dns2=1REM 请设置自己真实环境的域名、域管理员账号和密码set domainname=set domainadminname=set domainadminpassword=xxx:判断是否已经加入域,如果加入了则直接跳转:wmic ntdomain get domainname | findstr /i %domainname%:if %errorlevel% equ 0 echo 该计算机已经加入域 & goto moveuseripconfig /all | findstr /i %domainname% nul & echo 该计算机已经加入域,准备转移配置文件 & goto moveuser:判断当前登陆用户是否有管理员权限,如果没有则注销后重新以管理员登陆:adminECHO *判断当前用户权限*net user %username% | findstr *Administratorsif %errorlevel% equ 1 (echo 当前用户不是本地管理员,请注销后使用有本地管理员权限的用户登录) else (goto DNS)set /p logoff=现在要注销吗if /i %logoff%=y logoff:判断当前DNS设置是否为指定地址,如果不是,则清空当前配置后重新设置DNS:DNSECHO *更改DNS*netsh interface ip show dns | findstr %dns1% 1nul & echo DNS已经设置为%dns1% & goto renamecomputernameecho 清理更改现有DNS.for /f skip=2 tokens=2,* %i in (netsh interface show interface) do (set netname=%jif %j=环回 goto backif %j=内部 goto backnetsh interface ip delete dns name=%j addr=all nulnetsh interface ip add dns name=%j addr=%dns1% index=1 nulnetsh interface ip add dns name=%j addr=%dns2% index=2 nul):backecho DNS更改完成:判断计算机名是否已经更改,如更改则进入下一部分;如未更改是否需要更改计算机名,更改完成后要求重新启动计算机:renamecomputernameECHO *更改计算机名*set a=%computername%echo 当前计算机名为:%a%set /p b=请输入要修改的计算机名称(跳过请输入s):if /i %b%=s goto joindomainif /i %b%= echo 计算机名不能为空 & goto renamecomputernamewmic computersystem Where name=%a% call rename %b% nulif %errorlevel% equ 1 (echo 更改计算机名失败,请手工更改 & pause & exit) else (echo 计算机名已更改为%b%)set /p reboot=更改计算机名完成,现在要重起吗?y/n:if /i %reboot%=y shutdown /r /t 0goto end:判断计算机是否已加入域,如加入域则继续下一部分;否则检查相应服务是否启动,自动加入域(用户名密码部分参数需要自行更改):joindomainECHO *计算机加入域*if /i %userdomain%=%domainname% goto moveuserrem 判断服务TCP/IP NetBIOS HELPER服务是否禁用或未启动,如果禁用则更改为自动,未启动则自动启动,否则显示服务已启动sc query state= inactive | findstr /c:TCP/IP NetBIOS & (echo 服务未启动,正在启动服务. & sc config lmhosts start= auto & sc start lmhosts) | echo 服务已启动if /i %userdomain%=%domainname% do (echo 计算机已加入域 & goto moveuser)if not exist netdom.exe echo 请将netdom工具放到同文件夹下再尝试运行 & goto dom join %computername% /Domain:%domainname% /UserD:%domainadminname% /PasswordD:%domainadminpassword% | echo 加入域失败,请检查网络环境及批处理参数是否正确 & goto endset /p shutdown=加入域完成,现在要重起吗?y/n:if /i %shutdown%=y shutdown /r /t 0goto end:使用moveuser工具对用户配置文件进行迁移(提示用户输入要迁移的用户和要迁移到的用户):moveuserECHO *用户配置文件迁移*if not exist moveuser.exe echo 请将MOVEUSER工具放到同文件夹下再尝试运行 & goto endnet user:retryset /p user=请输入你要迁移的本地用户账户名称:if /i %user%=%username% echo 转移的用户配置文件为当前登陆用户,请重新启动后使用域管理员登陆再进行转移 & goto endnet user %user% 2nul 1nul | echo 你输入的本地账户不存在,请重新输入 & goto retryset /p domainuser=请输入你要迁移到的域账号名称:net user %domainuser% /domain 2nul 1nulif %errorlevel% neq 0 (echo 你要转移到的域账户尚未建立,请建立后重新尝试迁移) & goto end 本文来自菜鸟技术网moveuser %user% %domainname%domainuser% /k /y | findstr /i failed 2nul 1nul & echo 用户配置文件迁移失败,请检查配置 & goto end:if %errorlevel% neq 0 echo 用户配置文件迁移失败,请检查配置 & goto end:如果是从本机管理员用户迁移,则域用户也变成管理员,此处删除域用户管理员权限,加入PowerUsers群组,可自行更改echo 更改域用户为Power User权限net localgroup administrators %domainname%domainuser% /deletenet localgroup Power Users %domainname%domainuser% /addecho 配置文件迁移成功,请注销后使用您的域账号登陆set /p logoff=现在要注销吗?y/n:if /i %logoff%=y logoffgoto end:结束退出:endpausenulexit*REM 脚本结束3、Win7AutoAddDomain.bat,更改计算机名,加域,迁移用户配置文件echo offcolor 1e:功能说明与使用说明注意事项ECHO 请在使用本脚本前修改相应的参数为实际值set dns1=1set dns2=1REM 请设置自己真实环境的域名、域管理员账号和密码set domainname=set domainadminname=set domainadminpassword=xxx:判断是否已经加入域,如果加入了则直接跳转:wmic ntdomain get domainname | findstr /i %domainname%:if %errorlevel% equ 0 echo 该计算机已经加入域 & goto moveuseripconfig /all | findstr /i %domainname% nul & echo 该计算机已经加入域,准备转移配置文件 & goto moveuser:判断当前登陆用户是否有管理员权限,如果没有则注销后重新以管理员登陆:adminECHO *判断当前用户权限*net user %username% | findstr *Administratorsif %errorlevel% equ 1 (echo 当前用户不是本地管理员,请注销后使用有本地管理员权限的用户登录) else (goto DNS)set /p logoff=现在要注销吗if /i %logoff%=y logoff:判断当前DNS设置是否为指定地址,如果不是,则清空当前配置后重新设置DNS:DNSECHO *更改DNS*netsh interface ip show dns | findstr %dns1% 1nul & echo DNS已经设置为%dns1% & goto renamecomputernameecho 清理更改现有DNS.for /f skip=2 tokens=2,* %i in (netsh interface show interface) do (set netname=%jif %j=环回 goto backif %j=内部 goto backnetsh interface ip delete dns name=%j addr=all nulnetsh interface ip add dns name=%j addr=%dns1% index=1 nulnetsh interface ip add dns name=%j addr=%dns2% index=2 nul):backecho DNS更改完成:判断计算机名是否已经更改,如更改则进入下一部分;如未更改是否需要更改计算机名,更改完成后要求重新启动计算机:renamecomputernameECHO *更改计算机名*set a=%computername%echo 当前计算机名为:%a%set /p b=请输入要修改的计算机名称(跳过请输入s):if /i %b%=s goto joindomainif /i %b%= echo 计算机名不能为空 & goto renamecomputernamewmic computersystem Where name=%a% call rename %b% nulif %errorlevel% equ 1 (echo 更改计算机名失败,请手工更改 & pause & exit) else (echo 计算机名已更改为%b%)set /p reboot=更改计算机名完成,现在要重起吗?y/n:if /i %reboot%=y shutdown /r /t 0goto end:判断计算机是否已加入域,如加入域则继续下一部分;否则检查相应服务是否启动,自动加入域(用户名密码部分参数需要自行更改):joindomainECHO *计算机加入域*if /i %userdomain%=%domainname% goto moveuserrem 判断服务TCP/IP NetBIOS HELPER服务是否禁用或未启动,如果禁用则更改为自动,未启动则自动启动,否则显示服务已启动sc query state= inactive | findstr /c:TCP/IP NetBIOS & (echo 服务未启动,正在启动服务. & sc config lmhosts start= auto & sc start lmhosts) | echo 服务已启动if /i %userdomain%=%domainname% do (echo 计算机已加入域 & goto moveuser)netdom join %computername% /Domain:%domainname% /UserD:%domainadminname% /PasswordD:%domainadminpassword% | echo 加入域失败,请检查网络环境及批处理参数是否正确 & goto endecho 加入域完成,重启电脑后请使用域管理员帐户登陆转移个人配置文件!set /p shutdown=现在要重起吗?y/n:if /i %shutdown%=y shutdown /r /t 0goto end:使用moveuser工具对用户配置文件进行迁移(提示用户输入要迁移的用户和要迁移到的用户):moveuserECHO *用户配置文件迁移*net user:retryset /p user=请输入你要迁移的本地用户账户名称:if /i %user%=%username% echo 转移的用户配置文件为当前登陆用户,请重新启动后使用域管理员登陆再进行转移 & goto endnet user %user% 2nul 1nul | echo 你输入的本地账户不存在,请重新输入 & goto retryset /p domainuser=请输入你要迁移到的域账号名称

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论