引言: 使用組策略,可以對(duì)系統(tǒng)進(jìn)行全面的設(shè)置和控制。但是,在使用組策略時(shí),有時(shí)會(huì)遇到一些故障,例如配置的組策略并沒有對(duì)相關(guān)的主機(jī)和用戶發(fā)生作用,或者雖然應(yīng)用了預(yù)設(shè)的組策略,但起到的作用存在問題等。本文介紹如何診斷和排除組策略相關(guān)的故障。
在域環(huán)境中,客戶端想要應(yīng)用組策略,必須擁有對(duì)域控制器的訪問權(quán)限。這樣,客戶端才可以檢測到相關(guān)GPO(即Group Policy Object,組 策略對(duì)象)的設(shè)置信息,通過對(duì)當(dāng)前的組策略配置進(jìn)行比對(duì),來檢測其是否發(fā)生了變動(dòng),并據(jù)此來更新本機(jī)的組策略配置信息。從組策略應(yīng)用的過程來看,在多個(gè)環(huán)節(jié)都可能發(fā)生故障,導(dǎo)致組策略更新出現(xiàn)異常。例如,客戶機(jī)和域控之間網(wǎng)絡(luò)連接存在問題,域控制器存在問題導(dǎo)致客戶端無法訪問,域控之間數(shù)據(jù)復(fù)制出現(xiàn)問題,身份驗(yàn)證以及DNS解析錯(cuò)誤等,都會(huì)引發(fā)組策略無法正常更新的情況。
因此,在排查問題之前,必須先解決和組策略無關(guān)的網(wǎng)絡(luò)問題。例如可以使用Ping命令,檢測網(wǎng)絡(luò)連通性。運(yùn)行Windows資源包中的“netdiag.exe”命令,來檢測和診斷網(wǎng)絡(luò)連接故障。利用“nslookup”命令,來檢測DNS服務(wù)是否正常運(yùn)行。使用“DcDiag”命令,通過各種診斷測試對(duì)域控制器進(jìn)行全面診斷,分析當(dāng)前林或域中域控制器狀態(tài),通過查看檢測報(bào)告,來尋找問題所在,便于管理員排除故障恢復(fù)域控正常功能。通過運(yùn)行“eventvwr.msc”程序,在事件檢查器中查看相關(guān)日志信息,來發(fā)現(xiàn)和組策略故障相關(guān)的記錄信息,縮小排查范圍,確定問題的根源。
僅就組策略故障排除本身而言,有一些相關(guān)的工具可以使用。例如使用“RSOP”、“GPResult”命令,可以查看組策略結(jié)果集。執(zhí)行“mmc”命令,在控制臺(tái)中點(diǎn)擊菜單“文件→添加或刪除管理單元”項(xiàng),選擇“策略的結(jié)果集”項(xiàng),點(diǎn)擊“添加”按鈕,將其添加到控制臺(tái)列表中。在“策略的結(jié)果集”項(xiàng)的右鍵菜單上點(diǎn)擊“生成RsoP數(shù)據(jù)”項(xiàng),在向?qū)Ы缑嬷羞x擇“記錄模式”項(xiàng),可以復(fù)查應(yīng)用到一個(gè)特定計(jì)算機(jī)和用戶的策略設(shè)置。選擇“計(jì)劃模式”項(xiàng),可以通過使用來自Active Directory服務(wù)的數(shù)據(jù)來模擬一個(gè)策略實(shí)現(xiàn)。這里選擇前者,在下一步窗口中選擇“這臺(tái)計(jì)算機(jī)”項(xiàng),點(diǎn)擊“下一步”,選擇當(dāng)前用戶或者指定的賬戶,來顯示策略設(shè)置信息。點(diǎn)擊“下一步”,完成策略結(jié)果集的統(tǒng)計(jì)操作。之后,在組策略結(jié)果集中,就可以以圖形界面查看變動(dòng)信息。
當(dāng)然,在CMD窗口中執(zhí)行“gpresult /R”命令,可以以命令行方式查看當(dāng)前用戶的組策略結(jié)果集信息。執(zhí)行“gpresult /USER usename/V”命令,可以查看指定賬戶的組策略結(jié)果集。
使用“Gpotool”命令,可以檢測組策略對(duì)象的穩(wěn)定性,并且可以組策略的復(fù)制進(jìn)行監(jiān)控,可以遍歷所有的域控制器,檢測組策略容器和組策略模板之間是否一致。先安裝Windows資源包,運(yùn)行其中的“gptool”工具,會(huì)顯示所有GPO的GUID參數(shù)、名稱、狀態(tài)等。在對(duì)應(yīng)GPO的“Policy”欄中顯示“OK”字樣,說明狀態(tài)正常,否則就說明存在問題。使用“gpupdate”命令,可以強(qiáng)制更新組策略。
因?yàn)樵谀J(rèn)情況下,要激活針對(duì)賬戶的組策略更新,需要執(zhí)行注銷操作。要激活針對(duì)計(jì)算機(jī)的組策略更新,需要執(zhí)行重啟銷操作。利用該命令,可以強(qiáng)制立即更新。使用“Dcgpofix”命令,可以將默認(rèn)的組策略對(duì)象還原到初始安裝后的原始狀態(tài),即對(duì)默認(rèn)組策略進(jìn)行還原處理。利用“GPLogView”工具,可以查看GPO的日志信息。該命令出現(xiàn)在Windows Server 2008之后的系統(tǒng)中,可以查看和組策略相關(guān)的事件和操作日志信息,并且可以將其導(dǎo)出為獨(dú)立的文件。利用組策略管理腳本GPMC,可以快速高效地執(zhí)行各種故障排除操作。
在默認(rèn)情況下,域的根節(jié)點(diǎn)和OU之間,不同OU之間會(huì)形成層級(jí)結(jié)構(gòu),因?yàn)椴煌腉PO可以連接到根節(jié)點(diǎn)或者不同的OU中,因此GPO也會(huì)形成層級(jí)結(jié)構(gòu)。因此,在上一級(jí)的容器中鏈接了某個(gè)GPO對(duì)象,那么下一級(jí)容器也會(huì)繼承該GPO對(duì)象。
如果因?yàn)榕渲貌划?dāng),在下一級(jí)的容器上阻止了GPO對(duì)象的繼承,必然會(huì)造成該容器中的用戶或者計(jì)算機(jī)無法應(yīng)用該GPO對(duì)象。在域控上打開組策略管理器,如果發(fā)現(xiàn)某個(gè)容器上帶有藍(lán)色嘆號(hào)標(biāo)記,說明在該容器上設(shè)置了阻止繼承功能。在客戶端執(zhí)行“gpresult -R”命令,在返回信息中的“下列組策略對(duì)象被篩選排除,因此沒有應(yīng)用”欄中也會(huì)顯示被阻止繼承的GPO對(duì)象。在該容器的右鍵菜單上取消“阻止繼承”項(xiàng),就可以讓客戶端順利的應(yīng)用該容器的上級(jí)策略。對(duì)于一些重要的GPO對(duì)象,可以在其右鍵菜單上選擇“強(qiáng)制”項(xiàng),禁止下一級(jí)容器對(duì)其進(jìn)行阻止繼承操作。
利用組策略的篩選功能,只允許目標(biāo)OU中的指定用戶或計(jì)算機(jī)可以應(yīng)用特定的GPO對(duì)象,即確定哪些用戶或計(jì)算機(jī)可以接收到相關(guān)的組策略設(shè)置信息。組策略的篩選包括安全篩選和WMI篩選,因?yàn)楹Y選針對(duì)的是具體的GPO進(jìn)行的,對(duì)于安全篩選來說,可以將指定的用戶或者組添加進(jìn)來。如果配置不當(dāng)?shù)脑?,就?huì)造成某些組中的用戶被排除在篩選范圍之外,這些用戶自然無法應(yīng)用該GPO的配置信息。
所以,在排查問題時(shí),應(yīng)該檢測是否將正常的用戶和計(jì)算機(jī)加入到篩選范圍內(nèi),便于其順利更新組策略。如果某個(gè)GPO連接到預(yù)設(shè)的WMI篩選器上,可以對(duì)客戶端的軟硬件以及配置信息進(jìn)行篩選,只有符合條件的客戶端,才可以應(yīng)用該GPO對(duì)象。如果WMI篩選器設(shè)置有問題,就會(huì)造成某些客戶端正確更新組策略的問題。因?yàn)榻M策略篩選設(shè)置不當(dāng),往往會(huì)造成同一個(gè)OU中的不同用戶和計(jì)算機(jī)會(huì)接收到不同的組策略配置參數(shù)。只要在篩選配置中檢測,自然可以找到問題所在。排除方法很簡單,將合法的用戶或計(jì)算機(jī)添加到篩選列表中即可。
組策略對(duì)象實(shí)際上由組策略模版(GPT)和組策略(GPC)容器組成,其中組策略容器存放在活動(dòng)目錄數(shù)據(jù)庫中,組策略模板是存放在“SYSVOL”目錄中的。在不同站點(diǎn)中存在多臺(tái)域控,彼此之間必然會(huì)自動(dòng)復(fù)制數(shù)據(jù),針對(duì)GPT和GPC,復(fù)制的機(jī)制是不同的。對(duì)于前者采用的是文件復(fù)制模式,對(duì)于后者采用的是AD DS模式模式。因?yàn)閺?fù)制方式不同,就有可能造成在某個(gè)時(shí)間段內(nèi),不同域控之間的組策略版本不一致的問題。如果在該時(shí)間段內(nèi),客戶端執(zhí)行組策略更新操作,就會(huì)造成得不到最新組策略設(shè)置的情況。如果客戶端使用的是慢速連接,就很容易出現(xiàn)該問題。運(yùn)行“GPOTool”這一工具,可以檢查所有域控之間策略是否達(dá)到了一致性。
如果組策略沒有按照預(yù)設(shè)的周期執(zhí)行刷新,就需要檢查是否在檢查用戶的計(jì)算機(jī)的刷新時(shí)間間隔內(nèi)調(diào)整了組策略,這樣達(dá)到刷新時(shí)間點(diǎn)后,客戶端就會(huì)自動(dòng)執(zhí)行刷新操作。讓客戶端用戶先注銷再登錄,或者重啟計(jì)算機(jī),來應(yīng)用組策略更新操作。檢查是否存在緩存的憑據(jù),因?yàn)槠淇赡苎舆t組策略更新的效果。檢測環(huán)回策略是否啟用,防止其阻止組策略按照預(yù)設(shè)周期刷新。使用“gpupdate/force”命令,可以強(qiáng)制執(zhí)行組策略的刷新操作。
在具體排斥組策略故障時(shí),是很講究順序的。首選在組策略結(jié)果集中進(jìn)行檢查,查看相應(yīng)的GPO對(duì)象是否列為應(yīng)用目標(biāo)。如果是的話,接著查看設(shè)置是否被列出,如果是的話,可以接著針對(duì)GPO繼承、復(fù)制、組策略刷新、異步處理、客戶端擴(kuò)展以及回環(huán)處理等方面進(jìn)行排查。如果否的話,可以針對(duì)復(fù)制、組策略刷新、操作系統(tǒng)是否支持、慢速鏈接等方面進(jìn)行排查。如果相應(yīng)的GPO對(duì)象沒有被列為應(yīng)用目標(biāo),可以查看在結(jié)果集中其是否出現(xiàn)在拒絕列表中,如果是的話,可以針對(duì)安全篩選,是否禁用該GPO,不可訪問的數(shù)據(jù),該GPO是否為空,預(yù)設(shè)的WMI篩選器是否有誤等方面進(jìn)行排查。
如果沒有出現(xiàn)在拒絕列表中,可以針對(duì)管理范圍、復(fù)制問題、組策略刷新、網(wǎng)絡(luò)連接是否順暢等方面進(jìn)行排查。當(dāng)在客戶端配置組策略時(shí),必須得到不同的客戶端擴(kuò)展程序的支持。例如,對(duì)于不同的組策略設(shè)置項(xiàng)目(例如軟件、安全設(shè)置、管理模版等)來說,對(duì)應(yīng)的是不同的客戶端擴(kuò)展程序。如果某些客戶端擴(kuò)展程序沒有被啟用,自然無法執(zhí)行對(duì)應(yīng)組策略的配置操作。如果檢測到客戶端使用的是慢速鏈路(默認(rèn)低于500Kbps),某些客戶端擴(kuò)展程序就不會(huì)進(jìn)行處理。例如對(duì)于通過組策略部署軟件來說,因?yàn)閭魉偷陌惭b包體積很大,慢速鏈路顯然無法應(yīng)對(duì),和軟件安裝相關(guān)的客戶端擴(kuò)展程序就不會(huì)正常運(yùn)作。對(duì)于安全設(shè)置模板來說,不管是慢速連接還是快速鏈接,與之對(duì)應(yīng)的客戶端擴(kuò)展程序則總是處于應(yīng)用狀態(tài),無法將其關(guān)閉。