Windows操作系統的安全問題越來越受到人們的關注,每隔一段時間,微軟就會發布修復系統漏洞的補丁。但是,由于很多用戶不能及時使用這些補丁加固系統,因此往往造成重大損失,所以及時打補丁非常重要。然而,現在局域網的規模越來越大,對網絡管理員來說,手工為每臺客戶機安裝補丁的工作量實在太大,很難及時完成。
選擇解決方式
網絡管理員除了手工為每臺客戶機安裝補丁外,還可以采用以下幾種方式來解決這個復雜問題:
1. 在企業的局域網中架設微軟提供的免費軟件升級服務器(Software Update Services,SUS),安排客戶機定期自動執行升級,但是遇到緊急情況會出現某些電腦被漏掉的情況。
2. 使用微軟Systems Management Services中補丁分發功能,SMS非常強大,不過它可不是免費的。
3. 采用第三方的管理軟件如:IBM的Tivoli與LANDesk的Management Suite等。
簡單、方便、快捷、免費是我們管理員追求的最高境界了,我提供的通過域用戶腳本自動打補丁的方法大概就能符合上面的要求了。
腳本登錄需知
不過在使用登錄腳本之前我們需要了解下面兩個問題:
1. 如何避免每安裝完一個補丁就重啟
Hotfix文件具有多個可選參數。重要的有-z表示安裝后不重新啟動計算機,-m表示安裝過程中不出現提示信息,-q表示安裝過程中不出現提示信息。我們下面的腳本可以使用到-m和-q兩個。
如何將多個補丁文件串聯起來?我們就要用到微軟提供的Qchain.exe程序。Qchain.exe的使用非常簡單,語法是Qchain [logfilename] ,Logfilename表示日志文件名,它記載了多個補丁安裝前后的注冊表中未決文件重命名隊列鍵值的對比。實際上,Qchain.exe的功能就是檢查注冊表的未決文件重命名隊列鍵值,對多個Hotfixes的安裝文件進行合適的鏈接和取舍操作,最終保證被修改文件是最新版本。(詳情與下載參http://support.microsoft.com/kb/815062)
2. 如何判斷用戶已經安裝了哪些補丁
微軟提供的補丁都有一個“KB”號,這是為了方便用戶查詢詳情的代碼,比如KB823980(“沖擊波”的漏洞),就可以通http://support.microsoft.com/?id=823980查到詳細說明。我們也知道當安裝完畢一個補丁的時候會在系統目錄(%SystemRoot%)中存放同樣名稱的Log文件。從以上兩方面我們就可以利用系統目錄中是否有KB823980.log文件判斷補丁安裝與否。
創建腳本
好了,萬事俱備,只欠東風!我們趕緊做個腳本吧。
1. 在Server上建立Hotfix目錄將要安裝的補丁和Qchain.exe放到此目錄下。同時我覺得按照微軟的“KB”號將補丁的改名排列好,如圖1所示。
2. 設置Hotfix文件夾的訪問權限,設置Administrators為完全控制,Authenticated users為讀取權限,如圖2所示。
圖2設置Hotfix文件夾的訪問權限
3. 在C:/Winnt/Sysvol/Sysvol/Domain_name/Scripts下建立Hotfix.bat腳本。請將本文中Domain_name更改為各位網管員自己管理的服務器名稱。
腳本內容如下:
@echo off
echo 正在檢測Windows2000 Update Server,請稍后......
IF not EXIST C:/Winnt/ GOTO END
net use Z: //Server_name/Hotfix
Z:
IF EXIST %SystemRoot%/KB823980.log ECHO 恭喜您!已經安裝了KB823980號補丁,進行下一項檢查......
IF not EXIST %SystemRoot%/KB823980.log echo很遺憾!沒有安裝KB823980號補丁,現在正在安裝,請稍候......
IF not EXIST %SystemRoot%/KB823980.log KB823980.exe -z -q
IF EXIST %SystemRoot%/KB823182.log ECHO恭喜您!已經安裝了KB823182號補丁,
……
(參照上面的步驟,后面的補丁內容請手動添加)
echo 您已經安裝了全部的補丁,謝謝使用......
Qchain.exe
C:
net use Z: /Delete /Y
:END
注:我們通過net use命令將共享的文件夾映射到本地。
4. 針對用戶在活動目錄里面設置用戶登錄腳本Hotfix.bat,如圖3所示。
圖3 在活動目錄里面設置用戶登錄腳本
配置完成以后我們就需要等到用戶登錄就可以了。如果Windows XP 用戶,只需要把IF not EXIST C:/Winnt/ GOTO END中的“Winnt”改為“Windows”就可以,注意補丁一定要是針對Windows XP的才可以,上面的腳本大家可以直接更改,不過一定要先做實驗。
新聞熱點
疑難解答