因一个公司收购另外一个公司,现需要把被收购公司的计算机迁移到收购公司域内,要求用户配置文件不变,计算机名重新编辑,用户继承本地管理员权限
使用了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
原文地址:http://blog.51cto.com/13902938/2153103