今天維護(hù)人員找的我說(shuō),最近要推Win7了,暫時(shí)桌面云沒(méi)推廣,還是使用手動(dòng)安裝Win7的方式。所以,需要我?guī)兔?xiě)一個(gè)腳本,大概功能就是在Ghost Win7之前先導(dǎo)出XP的IP信息,在Ghost完成之后,自動(dòng)讀取這個(gè)IP信息用于恢復(fù)IP設(shè)置。
Ghost安裝Win7/XP后自動(dòng)恢復(fù)IP的批處理
之前其實(shí)寫(xiě)過(guò)一個(gè)XP的,這次是Win7的,其實(shí)大同小異了,花了近半小時(shí)測(cè)試成功了,現(xiàn)在來(lái)記錄一下。
懶得去折騰兼容方法,就寫(xiě)了2個(gè)導(dǎo)出IP的腳本和一個(gè)IP恢復(fù)腳本,用于Ghost遠(yuǎn)程安裝Win7后自動(dòng)恢復(fù)IP設(shè)置的。(繁體環(huán)境)
1、導(dǎo)出WinXP系統(tǒng)IP信息:
@echo offsetlocal enabledelayedexpansion
title WindowsXP IP信息導(dǎo)出工具(配合恢復(fù)腳本所用)
echo IP信息導(dǎo)出中...
for /f "tokens=1,2 delims=:" %%i in ('ipconfig') do (
echo %%i | find /i "IP Address">nul echo IP:%%j>D:\ip.txt
echo %%i | find /i "Subnet Mask">nul echo MK:%%j>>D:\ip.txt
if "!GW!" equ "1" call :end
echo %%i | find /i "Default Gateway">nul echo GW:%%j>>D:\ip.txt set GW=1
)
:end
echo=
echo 導(dǎo)出完畢.任意鍵檢查...
pause>nul
start "" d:\ip.txt
exit
2、導(dǎo)出Win7系統(tǒng)IP信息
@echo offsetlocal enabledelayedexpansion
title Windows 7 IP信息導(dǎo)出工具(配合IP恢復(fù)腳本所用)
echo IP信息導(dǎo)出中...
for /f "tokens=1,2 delims=:" %%i in ('ipconfig') do (
echo %%i | find /i "IPv4 位址">nul echo IP:%%j>D:\ip.txt
echo %%i | find /i "子網(wǎng)路遮罩">nul echo MK:%%j>>D:\ip.txt
if "!GW!" equ "1" call :end
echo %%i | find /i "預(yù)設(shè)閘道">nul echo GW:%%j>>D:\ip.txt set GW=1
)
:end
echo=
echo 導(dǎo)出完畢.任意鍵檢查...
pause>nul
start "" d:\ip.txt
exit
Ps:測(cè)試過(guò)程中,發(fā)現(xiàn)win7 使用ipconfig命令,會(huì)有個(gè)IPv6的網(wǎng)關(guān),導(dǎo)致出錯(cuò),只好用了一個(gè) if 跳出循環(huán)。
3、最后輸出到D:\ip.txt的格式如下(太偷懶了,就三行,手動(dòng)寫(xiě)入也很快?。?/strong>
復(fù)制代碼 代碼如下:
IP: 10.197.198.173
MK: 255.255.255.254
GW: 10.197.198.1
最后,通過(guò)下面這個(gè)腳本讀取d:\IP.txt內(nèi)容并恢復(fù)IP:
@echo offsetlocal enabledelayedexpansion
title Ghost系統(tǒng)后的IP恢復(fù)工具
rem 判斷文件是否存在
if not exist d:\ip.txt goto error
rem 從IP.txt讀取信息,并設(shè)置變量
for /f "tokens=1,2 delims=: " %%a in (d:\ip.txt) do (
if /i "%%a"=="IP" set addr=%%b
if /i "%%a"=="MK" set mask=%%b
if /i "%%a"=="GW" set gateway=%%b
)
rem 獲取第一塊網(wǎng)卡的名稱,并設(shè)置IP,多塊網(wǎng)卡將至設(shè)置第一塊
for /f tokens^=1^,2^ delims^=^" %%j in ('netsh interface ip show config') do (
if "%%j"=="介面 " (
netsh interface ip set address name="%%k" source=static addr=!addr! mask=!mask! gateway=!gateway!
call :end
)
if "%%j"=="接口 " (
netsh interface ip set address name="%%k" source=static addr=!addr! mask=!mask! gateway=!gateway!
call :end
)
)
:end
echo 設(shè)置完畢,3S后自動(dòng)退出!
ping -n 3 127.1 >nul
exit
:error
cls
echo 錯(cuò)誤:D盤(pán)根目錄未發(fā)現(xiàn)ip.txt文件!請(qǐng)手動(dòng)設(shè)置IP,任意鍵退出...
pause>nul
exit
這個(gè)腳本簡(jiǎn)、繁WinXP/7等系統(tǒng)都可以兼容設(shè)定IP,其實(shí)是修改自我以前寫(xiě)的Windows下獲取網(wǎng)絡(luò)連線實(shí)際名稱,加強(qiáng)IP類設(shè)置腳本的兼容性中的腳本。
4、腳本用法:
1、封裝Ghost系統(tǒng)鏡像時(shí),將設(shè)置IP的腳本加入啟動(dòng)項(xiàng)
2、Ghost安裝系統(tǒng)之前先通過(guò)【導(dǎo)出腳本】或【手動(dòng)的方法】在d盤(pán)建立ip.txt,寫(xiě)入如上三條信息
3、通過(guò)oneKey遠(yuǎn)程恢復(fù)Ghost系統(tǒng)鏡像,等恢復(fù)完成之后,IP腳本自動(dòng)恢復(fù)D盤(pán)設(shè)定好的IP,這時(shí)就可以遠(yuǎn)程連接電腦進(jìn)行維護(hù)了,整個(gè)過(guò)程均不需要現(xiàn)場(chǎng)操作。