因一个公司收购另外一个公司,现需要把被收购公司的计算机迁移到收购公司域内,要求用户配置文件不变,计算机名重新编辑,用户继承本地管理员权限 使用了DefProf.exe迁移配置文件 使用了netdom.exe迁移域 使用了数据库自动计算机名更改,并抓取计算机信息到数据库

脚本如下:

@echo off color 0A cls

copy CDGAMED.ps1 C:\tmp copy CDGAMEL.ps1 C:\tmp copy zhuaqu.ps1 C:\tmp copy netdom.exe C:\Windows\System32 copy netdom.exe.mui C:\Windows\System32

powershell -noprofile set-ExecutionPolicy RemoteSigned

::选择计算机类型及部门 mode con:cols=50 lines=20 :begin

cls echo. 1.CDGAMED echo. 2.CDGAMEL

choice /c:12 /m:"请选择计算机名:"

if %errorlevel%==1 goto CDGAMED if %errorlevel%==2 goto CDGAMEL

::调用powershell脚本获取计算机名

:CDGAMED set pscmdline='C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -file c:\tmp\CDGAMED.ps1' for /f %%a in (%pscmdline%) do (set name=%%a) goto :R

:CDGAMEL set pscmdline='C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -file c:\tmp\CDGAMEL.ps1' for /f %%a in (%pscmdline%) do (set name=%%a) goto :R

:R echo. echo 请输入被收购公司用户名: set/p c= > nul echo. echo. echo 请输入收购公司用户名: set/p b= > nul cls echo. echo. echo. echo 请确定信息是否正确: echo. echo. echo 收购用户名:%b% 计算机名:%name% echo. echo. %b%>C:\tmp\2.txt echo.输入“1”确认输入。输入“2”重新输入 set /p f= >nul if not %f%=="" ( if "%f%"=="1" goto :domain if "%f%"=="2" goto :begin ) :domain cls netdom move %computername% /Domain:.domain /Userd:admin /passwordd:*** > nul echo. echo. echo. echo 正在加域。。。。。 cls netdom renamecomputer %computername% /newname:%name% /userd:admin /passwordd:***** /force > nul echo. echo. echo. echo 正在修改计算机名。。。。。 net user administrator **** > nul echo. echo. echo. echo 正在修改administrator密码。。。。。 net localgroup Administrators /add ****.domain%b% > nul echo. echo. echo. echo 正在赋予管理员权限。。。。。 @reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI /v LastLoggedOnUser /d iqiyi%b% /f > nul echo. echo. Defprof.exe %c% echo.

::调用powershell脚本进行数据收集 powershell -noprofile Set-ExecutionPolicy Unrestricted powershell "& 'C:\tmp\zhuaqu.ps1'"

netsh firewall set opmode disable ipconfig/all > c:%name%.txt Echo open 10.1.1.1 >ftp.up Echo admin>>ftp.up Echo *****>>ftp.up Echo cd "\pc\mac">>ftp.up Echo binary>>ftp.up Echo put "C://%name%.txt">>ftp.up Echo bye>>ftp.up FTP -s:ftp.up del c:%a%.txt /q del ftp.up /q