日前為了要快速解決 Win32/Conficker.Gen Worm 討人厭的病毒,於是研究了一下如何利用AD來快速的將線上所有的機器補上所有漏洞,方法其實有蠻多種的,但是今天的目的只是要在最短的時間內快速補上指定的補釘,於是就想到利用開機執行批次檔的方式來檢查補釘並更新掃毒,這樣就可以在最短的時間請使用者重新開機進行開機更新與掃描的動作,降低第一時間來自客戶端的壓力,增加應對話術降低因為大量中毒而產生的『民怨』。
鎖定了運作的方式,於是就開始研究了一下如何開機之後利用批次檔自動檢查更新與否,與快速自動安裝相關補釘的寫法,在此做個筆記也順便提供給有同樣問題的朋友參考摟。
批次檔運作原理
- 設定AD當中的GPO啟動原則,將開機之後需要的檔案複製到本機硬碟當中執行,不建議直接透過網路磁碟機執行(可依照個人習慣更改)。
- 複製完畢之後直接執行批次檔進行檢查更新與掃毒之動作。
- 掃毒完畢之後才能跳出登入畫面,避免使用者無更新掃毒登入之狀況發生。
至於如何製作掃描更新與否與自動更新補釘語法如下:
- CLS
- @ECHO OFF
- COLOR 70
- MODE CON COLS=80 LINES=20
- ECHO.
- ECHO ————————————————————————
- ECHO 以下將開始自動掃毒與更新您的電腦系統
- ECHO ————————————————————————
- ECHO ——————————————————————————-
- ECHO 開始更新您的檔案…..
- ECHO ——————————————————————————-
- ECHO.
- ECHO
- :W2K 判斷系統是否為 Windows 2000
- if exist c:\WINNT goto 2KB957097
- if exist c:\Windows\discover.exe goto 2KB957097
- :WINXP 判斷系統是否為 Windows XP
- if exist c:\Windows goto KB957097
- :2KB957097 判斷 Windows 2000是否安裝過 KB957097 補釘
- if exist c:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\KB957097.cat goto 2KB958644
- :2KB958644 判斷 Windows 2000是否安裝過 KB958644 補釘
- if exist c:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\KB958644.cat goto 2KB958687
- :2KB958687 判斷 Windows 2000是否安裝過 KB958687 補釘
- if exist c:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\KB958687.cat goto kk
- :2Kupdate 判斷 Windows 2000 無安裝過上述補釘則自動安裝下列補釘
- c:\Windows2000-KB957097-x86-CHT.exe /passive /norestart
- c:\Windows2000-KB958644-x86-CHT.exe /passive /norestart
- c:\Windows2000-KB958687-x86-CHT.exe /passive /norestart
- goto kk
- :KB957097 判斷 Windows XP 是否安裝過 KB957097 補釘
- if exist c:\WINDOWS\$hf_mig$\KB957097 goto KB958644
- :KB958644 判斷 Windows XP 是否安裝過 KB958644補釘
- if exist c:\WINDOWS\$hf_mig$\KB958644 goto KB958687
- :KB958687 判斷 Windows XP 是否安裝過 KB958687 補釘
- if exist c:\WINDOWS\$hf_mig$\KB958687 goto kk
- :xpupdate 判斷 Windows XP 無安裝過上述補釘則自動安裝下列補釘
- c:\WindowsXP-KB957097-x86-CHT.exe /passive /norestart
- c:\WindowsXP-KB958644-x86-CHT.exe /passive /norestart
- c:\WindowsXP-KB958687-x86-CHT.exe /passive /norestart
- goto kk
- :kk 進入自動掃毒階段
- ECHO ————————————————————————
- ECHO Windows XP/2K 安全性更新完成…..
- ECHO 目前正在執行病毒掃描動作預防電腦中毒 因此會花較多的時間進行掃描請耐心等候
- ECHO 造成您的不便,敬請見諒,如有問題請立即與資訊部門聯繫
- ECHO ————————————————————————
- c:\kk.exe -a -y -l C:\Conficker.Gen.log
- goto DEL
- :DEL 刪除相關補釘
- del c:\WindowsXP-KB*.exe
- del c:\Windows2000-KB*.exe
- exit
以上就是開機自動判斷更新與掃毒的批次檔寫法,提供給大家參考。
關於如何製作自動更新批次檔的語法:
範例:KB917422.exe /passive /norestart 上面就是利用這串語法來達到自動安裝補釘的目的,參數說明:
- 安裝資訊
- /help 顯示命令列選項
- /quiet 無訊息安裝模式 (無使用者介面)
- /passive 自動安裝模式 (僅顯示狀態列)
- /uninstall 解除安裝套件
- 重新啟動選項
- /norestart 安裝完成後不重新啟動
- /forcerestart 安裝後重新啟動
- 特殊選項
- /l 列出安裝的 Windows hotfix 或更新套件
- /o 不先提示,直接覆寫 OEM 檔案。
- /n 不備份移除的檔案
- /f 當電腦關機時,強制其他程式結束
透過上面的方式就可以自己製作出批次無人職守更新批次檔了,不過根據網路上的資料彙整,微軟更新檔某些需要按照順序來安裝,才能正常運作,因此以下特別收錄了一下目前網路上可以找到關於這部份的資源提供給有興趣的人參考。
Microsoft Windows XP 先安裝完 IE8 與 Media11 再按照下列順序安裝更新。
- KB941569:附隨 Windows Media Format Runtime 9.5 和 11 的 Windows XP 安全性更新
- KB923789:Flash Player 安全性更新
- KB950760:Windows XP 的 ActiveX Killbits 積存安全性更新
- KB950762:Windows XP 安全性更新
- KB951376:Windows XP 安全性更新
- KB951978:Windows XP 更新
- KB951748:Windows XP 安全性更新
- KB939683:Windows XP 的 Windows Media Player 11 更新
- KB929399:Windows XP 的 Windows Media Format 11 SDK 更新
- KB946648:Windows XP 安全性更新 Windows Messenger 4.7 (不更新)
- KB952954:Windows XP 安全性更新
- KB950974:Windows XP 安全性更新
- KB952287:Windows XP 更新
- KB954154:Windows XP 安全性更新 Windows Media Player 11 更新
- KB958644:Windows XP 安全性更新
- KB954459:Windows XP 安全性更新
- KB956802:Windows XP 安全性更新
- KB956803:Windows XP 安全性更新
- KB967715:Windows XP 更新
- KB905474:Windows Genuine Advantage 通知 (不更新)
- Microsoft 基礎智慧卡密碼編譯服務提供者套件: x86 (KB909520)
- KB923561:Windows XP 安全性更新
- KB956572:Windows XP 安全性更新
- KB952004:Windows XP 安全性更新
- KB960803:Windows XP 安全性更新
- KB959426:Windows XP 安全性更新
- KB961501:Windows XP 安全性更新
- KB973540:Windows XP Service Pack 3 安全性更新 Windows Media Player 11 更新
- KB973869:Windows XP 安全性更新
- KB956744:Windows XP 安全性更新
- KB973507:Windows XP 安全性更新
- KB960859:Windows XP 安全性更新
- KB973815:Windows XP 安全性更新
- KB971657:Windows XP 安全性更新
- KB956844:Windows XP 安全性更新
- KB971961:Windows XP 的 Jscript 5.8 安全性更新
- KB954155:Windows XP SP 3 的 Windows Media Format Runtime 9、9.5 與 11 安全性更新
- KB975025:Windows XP 安全性更新
- KB974571:Windows XP 安全性更新
- KB974112:Windows XP 安全性更新
- KB958869:Windows XP 安全性更新
- KB969059:Windows XP 安全性更新
- KB968389:Windows XP 更新
- KB952069:Windows XP Service Pack 3 安全性更新 Windows Media Format Runtime 9、9.5 與 11 安全性更新
- KB974318:Windows XP 安全性更新
- KB974392:Windows XP 安全性更新
- KB955759:Windows XP 更新
- KB973904:Windows XP 安全性更新
- KB971513:Windows XP 更新
- KB972270:Windows XP 安全性更新
- KB975713:Windows XP 安全性更新
- KB978037:Windows XP 安全性更新
- KB975560:Windows XP 安全性更新
- KB977914:Windows XP 安全性更新
- KB978706:Windows XP 安全性更新
- KB976662:Windows XP 更新 Internet Explorer 8
- KB980232:Windows XP 安全性更新
- KB977816:Windows XP 安全性更新
- KB981332:Windows XP 安全性更新 Internet Explorer 8
- KB979309:Windows XP 安全性更新
- KB978338:Windows XP 安全性更新
- KB978601:Windows XP 安全性更新
- KB978542:Windows XP 安全性更新
- KB981793:Windows XP 更新
- KB980218:Windows XP 安全性更新
- KB978695:Windows XP SP3 的 Windows Media Format Runtime 9、9.5 與 11 安全性更新
- KB980195:Windows XP 的 ActiveX Killbits 積存安全性更新
- KB979482:Windows XP 安全性更新
- KB975562:Windows XP 安全性更新
- KB2229593:Windows XP 安全性更新
- KB2286198:Windows XP 安全性更新
- KB982664:Windows XP 的 Internet Explorer 8 相容性檢視清單更新
- KB2115168:Windows XP 安全性更新
- KB982665:Windows XP 安全性更新
- KB982214:Windows XP 安全性更新
- KB2160329:Windows XP 安全性更新
- KB981997:Windows XP 安全性更新
- KB2079403:Windows XP 安全性更新
- KB2183461:Internet Explorer 8 積存安全性更新 (適用於 Windows XP)
- KB981852:Windows XP 安全性更新
- KB980436:Windows XP 安全性更新
- KB931125:根憑證更新 [2010 年 8 月]
- KB2259922:Windows XP 安全性更新
- KB981322:Windows XP 安全性更新
- KB975558:Windows XP 安全性更新 Windows Media Format Runtime 9、9.5 與 11 安全性更新
- KB982802:Windows XP 安全性更新
- KB2121546:Windows XP 安全性更新
- KB2347290:Windows XP 安全性更新
- KB890830:Windows 惡意軟體移除工具 – 2010 年 9 月
- KB970430:Windows XP 更新
- KB971737:Windows XP 更新
- KB2141007:Windows XP 更新
- Microsoft .NET Framework 版本 1.1,中文 (繁體)
- KB951847:Microsoft .NET Framework 3.5 Service Pack 1 與 .NET Framework 3.5 系列更新 (x86)
- KB968930:適用於 Windows XP 與 Windows Embedded 的 Windows PowerShell 2.0 與 WinRM 2.0
另外一種安裝順序如下:
- KB893803v2|KB898461|KB941202|KB939653|KB923689|KB933729|KB936781|KB936782|
- KB938829|KB938828|KB938127|KB936021|KB921503|KB923689|KB929123|KB935840|
- KB935839|KB930916|KB930178|KB931261|KB931784|KB932168|KB925902|KB918118|
- KB924667|KB926436|KB927779|KB927802|KB928255|KB928843|KB931836|KB926255|
- KB924270|KB923980|KB923414|KB923191|KB922819|KB922582|KB920872|KB920685|
- KB920683|KB920670|KB920213|KB919007|KB918439|KB917953|KB917344|KB916595|
- KB914389|KB914388|KB913580|KB911927|kb911562|KB911280|KB910437|kb908531|
- KB908519|KB905749|KB905414|KB904706|KB902400|KB901214|KB901190|KB901017|
- KB900725|kb900485|KB899591|KB899587|KB896428|KB896423|KB896358|KB893756|
- KB891781|KB890859|KB888302|KB886677|KB886185|KB885836|KB873339|
- KB893803v2|KB898461|KB941202|KB939653|KB923689|KB933729|KB936781|KB936782|
- KB938829|KB938828|KB938127|KB936021|KB921503|KB923689|KB929123|KB935840|
- KB935839|KB930916|KB930178|KB931261|KB931784|KB932168|KB925902|KB918118|
- KB924667|KB926436|KB927779|KB927802|KB928255|KB928843|KB931836|KB926255|
- KB924270|KB923980|KB923414|KB923191|KB922819|KB922582|KB920872|KB920685|
- KB920683|KB920670|KB920213|KB919007|KB918439|KB917953|KB917344|KB916595|
- KB914389|KB914388|KB913580|KB911927|kb911562|KB911280|KB910437|kb908531|
- KB908519|KB905749|KB905414|KB904706|KB902400|KB901214|KB901190|KB901017|
- KB900725|kb900485|KB899591|KB899587|KB896428|KB896423|KB896358|KB893756|
- KB891781|KB890859|KB888302|KB886677|KB886185|KB885836|KB873339|
以上就是關於如何製作自動批次安裝檔的語法介紹,經過上次的事件之後發現台灣在這方面的相關資源真的不多,連討論的人都趨近於零,批次檔寫的好其實可以降低許多維護上的難度,也借此自己做個筆記來記錄一下,也歡迎批次檔高手指教一下,如果有更好的寫法歡迎一起來討論討論摟。