Windows 7 使用也很久了, 之前為了搭配 XPE 的備份使用, 有研究了一下 BCDEdit 的指令, 但用過後, 久沒有使用又遺忘了, 剛好最近在製作快速安裝批次, 所以就順便在找了一下相關的資料, 並將做好的批次貼上來提供存檔^^"
批次檔內容
=================================================================
@Echo off
Color 0a
Mode con cols=48 lines=9
Set UD=100/07/08 By Shyam
Set BCDNAME=啟動 XPE 系統...By Shyam on %date:~0,10%
Set GPATH=\grldr.mbr
Set TIMEOUT=8
:CreateBCD
Echo 檢查是否為系統管理員...
Bcdedit > check_bcd.txt
Type check_bcd.txt | find "Windows Boot Manager" && Goto StartBCD
Del check_bcd.txt 2>nul
Echo.
Echo.
Echo. 請以系統管理者身份執行....
Echo.
Echo.
Goto End
:StartBCD
Type check_bcd.txt | find "%BCDNAME%" && Goto Un_BCD
Bcdedit /create /d "%BCDNAME%" /application bootsector > vid.1
For /f "tokens=2 delims={" %%i in (vid.1) Do Echo %%i > vid.2
For /f "tokens=1 delims=}" %%i in (vid.2) Do Set VID={%%i}
Del vid.*
Bcdedit /set %VID% device partition=%systemdrive%
Bcdedit /set %VID% path %GPATH%
Bcdedit /displayorder %VID% /addlast
Bcdedit /timeout %TIMEOUT%
Goto CreatBootFiles
:Un_BCD
Echo.
Echo 偵測到已安裝 開機選單...系統自動移除中...
Echo.
For /f "tokens=1 delims=:" %%i in ('findstr /n /c:"%BCDNAME%" check_bcd.txt') Do Set VID=%%i
Set /a VID=%VID%-3
Findstr /n ident check_bcd.txt > check_bcd.1
For /f "tokens=2 delims= " %%i in ('findstr /n /c:"%VID%:ident" check_bcd.1') Do Set VID=%%i
Bcdedit /delete %VID% /cleanup
Bcdedit > check_bcd.txt
Type check_bcd.txt | find "%BCDNAME%" && Goto Un_BCD
Del check_bcd.*
Goto End
:CreatBootFiles
Attrib -r -s -h %systemdrive%\menu.lst
Echo find --set-root /rxpe.bin >> %systemdrive%\menu.lst && Echo chainloader /rxpe.bin >> %systemdrive%\menu.lst
Attrib +r +s +h %systemdrive%\menu.lst
Attrib -r -s -h %systemdrive%\grldr
xCopy /h /y ..\grldr %systemdrive%\
xCopy /h /y ..\grldr.mbr %systemdrive%\
Attrib +r +s +h %systemdrive%\grldr
Attrib -r -s -h %systemdrive%\RXPE.*
xCopy /h /y ..\rxpe.COM %systemdrive%\
xCopy /h /y ..\RXPE.IM_ %systemdrive%\
xCopy /h /y ..\RXPE.SIF %systemdrive%\
xCopy /h /y ..\RXPE.BIN %systemdrive%\
Attrib +r +s +h %systemdrive%\RXPE.*
:End
=================================================================
參考資料:
http://technet.microsoft.com/zh-tw/library/cc709667%28WS.10%29.aspx
http://blog.sina.com.cn/s/blog_67278a3e0100n2px.html (此批次有錯, 直接執行會有錯誤)
2011年7月8日 星期五
快速修改電腦名稱之方法
相信有很多IT人會遇到電腦名稱的命名問題,怎樣的命名方式,就看公司怎麼規定吧! 因為有遇到更改電腦名稱的問題,所以就搜尋出幾個快速更改的方式。
1. VBS 指令修改( http://social.technet.microsoft.com/forums/zh-TW/winserverzhcht/thread/6e40c437-8697-4387-8f78-b0189237ef6f/)
將以下語法剪下貼到記事本裡,另存成.vbs 檔案, 使用滑鼠去點擊兩下即可。
將以下語法剪下貼到記事本裡,另存成.vbs 檔案, 使用滑鼠去點擊兩下即可。
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
err = objComputer.Rename(" 要更改的電腦名稱")
Next
2. NETDOM 指令修改方式( http://support.microsoft.com/kb/298593/zh-tw)
下載位置(http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18546)
下載位置(http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18546)
/force 是不詢問直接更改名稱netdom renamecomputer 舊電腦名稱 /newname:新電腦名稱 /userd:網域/管理者帳號 /passwordd:管理者密碼 /force /reboot:60
範列:
netdom renamecomputer alex-nb /newname:mary-nb /userd:abc.com/administraotr /passwordd:123456 /force /reboot:60
/reboot 是多少秒後重新開機
以上兩種方式我都使用過,第一種比較簡單,但失敗率蠻高的,不知道有什麼地方有限制,第二種的方式雖然比較麻煩,但很容易就成功了,搭配.cmd 的方式使用,可以達到無提示訊息。
將下列存成.cmd 點擊完後即更名不提供也不重新開機
netdom renamecomputer alex-nb /newname:mary-nb /userd:abc.com/administraotr /passwordd:123456 /force /reboot:60
shutdown -a
訂閱:
文章 (Atom)