組策略排錯(cuò)知識(shí)簡(jiǎn)析一
組策略對(duì)于系統(tǒng)管理員來說至關(guān)重要,它的威力不容小覷。組策略可以保障系統(tǒng)的網(wǎng)絡(luò)安全,同樣,在組策略出現(xiàn)問題時(shí),我們?cè)撛鯓优佩e(cuò)呢?下文給出了詳細(xì)的描述。
組策略是一項(xiàng)復(fù)雜的技術(shù),它的正常運(yùn)作靠的是多個(gè)隨時(shí)可能會(huì)發(fā)生變化的部分之間的協(xié)同工作。通常來說,當(dāng)你測(cè)試某個(gè)組策略時(shí),與組策略有關(guān)的問題就會(huì)出現(xiàn)。很少的時(shí)候,這些問題之間看起來沒有什么關(guān)聯(lián),也不容易發(fā)現(xiàn)組策略與這些問題有關(guān)。不管原因是什么,當(dāng)組策略出問題時(shí),你通常應(yīng)該檢查多個(gè)地方以找到解決方案。
要成功地解決組策略相關(guān)的問題,關(guān)鍵是知道去哪兒查找故障。組策略的執(zhí)行包括兩個(gè)階段,因此要找出問題的所在,你可以從兩個(gè)主要區(qū)域開始。
第一階段:是核心執(zhí)行階段,Windows通過查詢活動(dòng)目錄(AD)來找出需要將哪個(gè)組策略對(duì)象(GPO)應(yīng)用到當(dāng)前計(jì)算機(jī)或用戶,哪個(gè)組策略區(qū)域(如,管理模板、軟件安裝)需要被執(zhí)行,以及計(jì)算機(jī)或用戶在上一次應(yīng)用策略之后該組策略是否發(fā)生過改變。核心執(zhí)行階段需要基礎(chǔ)結(jié)構(gòu)中的幾個(gè)部分協(xié)同工作,包括DNS、AD、文件復(fù)制服務(wù)(FRS)和網(wǎng)絡(luò)。在核心執(zhí)行階段,任何一個(gè)部分如果出了問題,整個(gè)組策略的執(zhí)行都會(huì)出現(xiàn)問題。
執(zhí)行過程的第二階段:包括客戶端擴(kuò)展,像安全性設(shè)置、管理模板和文件夾重定向??蛻舳藬U(kuò)展通過執(zhí)行和應(yīng)用在核心執(zhí)行階段中找到的組策略中的設(shè)置來實(shí)現(xiàn)組策略。通常來說,如果問題發(fā)生在客戶端擴(kuò)展執(zhí)行階段,則問題可以限定在一個(gè)客戶端擴(kuò)展之中——甚至限定在通過客戶端擴(kuò)展來執(zhí)行的組策略——以及計(jì)劃在后面繼續(xù)執(zhí)行的其它組策略。要找出客戶端擴(kuò)展中存在的問題不是一件容易的事情,因?yàn)槊恳粋€(gè)實(shí)現(xiàn)組策略的擴(kuò)展在實(shí)施任務(wù)時(shí)采用的方式都有些不同,生成日志的級(jí)別也不同。
要成功地排除故障,兩個(gè)執(zhí)行階段中生成的日志非常關(guān)鍵。日志文件通常能夠解釋那些不太容易發(fā)現(xiàn)的問題。如果組策略組結(jié)果集(RSoP)報(bào)告和基礎(chǔ)結(jié)構(gòu)組件檢查都不能給出解決方法,日志中有時(shí)會(huì)包含一些重要的錯(cuò)誤信息,明確地指出問題的所在。
沒有辦法通過一項(xiàng)設(shè)置來啟動(dòng)所有的組策略日志。你可以通過修改注冊(cè)表鍵值來手工啟動(dòng)每個(gè)日志。表1列出了用于組策略的日志和相應(yīng)的注冊(cè)表鍵值。另外,你也可以用我編寫的工具(名為gpolog.adm的管理模板文件)來啟動(dòng)任何一個(gè)或者所有與組策略相關(guān)的日志,這個(gè)方便快捷的工具是免費(fèi)的,你可以通過以下網(wǎng)址下載:
“http://www.gpoguy.com/tools.htm”。不管問題出現(xiàn)在核心執(zhí)行階段還是在客戶端擴(kuò)展階段,按照我提供的步驟來操作都會(huì)有助于故障的排除。
表1:組策略日志
描述注冊(cè)表鍵值
在應(yīng)用程序事件日志中記錄詳細(xì)的核心執(zhí)行日志
- HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Diagnostics\RunDiagnosticLoggingGroupPolicy=REG_DWORD0x1
在應(yīng)用程序事件日志中記錄詳細(xì)的軟件安裝日志
- HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Diagnostics\RunDiagnosticLoggingAppDeploy=REG_DWORD0x1
在應(yīng)用程序事件日志中記錄詳細(xì)的Microsoft遠(yuǎn)程信息服務(wù)(RIS)選項(xiàng)日志
- HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Diagnostics\RunDiagnosticLoggingIntellimirror=REG_DWORD0x1
詳細(xì)的用戶環(huán)境日志(寫入%windir%\debug\usermode\userenv.log)
- HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\UserEnvDebugLevel=REG_DWORD0x10002
詳細(xì)的文件夾重定向客戶端擴(kuò)展日志(寫入%windir%\Debug\UserMode\fdeploy.log)
- HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Diagnostics\FDeployDebugLevel=REG_DWORD0x0F
詳細(xì)的軟件安裝客戶端擴(kuò)展日志(寫入%windir%\Debug\UserMode\appmgmt.log)
- HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Diagnostics\AppmgmtDebugLevel=REG_DWORD0x9B
詳細(xì)的安全性客戶端擴(kuò)展日志(寫入%windir%\security\logs\winlogon.log)
- HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon\GPExtensions\{827D319E-6EAC-11D2-A4EA-00C04F79F83A}\ExtensionDebugLevel=REG_DWORD0x02
步驟1:復(fù)查最近的執(zhí)行周期
要判斷一臺(tái)工作站或服務(wù)器為什么存在組策略執(zhí)行問題的第一步是找出最后一個(gè)組策略執(zhí)行周期內(nèi)都發(fā)生了什么事情。要完成這一任務(wù),你需要在WindowsServer2003或WindowsXP中安裝使用組策略管理控制臺(tái)(GPMC)或Windows2000所帶的gpresult.exe命令行工具。
組策略管理控制臺(tái)提供了組策略結(jié)果向?qū)В梢圆樵僕indowsServer2003和WindowsXP系統(tǒng)并生成報(bào)告,指出在最后一個(gè)執(zhí)行周期中在該系統(tǒng)中的指定用戶身上都發(fā)生了什么事情。你也可以在命令行方式下運(yùn)行g(shù)presult.exe,得到的數(shù)據(jù)與組策略結(jié)果向?qū)峁┑膬?nèi)容是相同的。如果你用的是Windows2000系統(tǒng)且使用的是MicrosoftWindows2000資源包中的gpresult.exe,你只能得到WindowsServer2003和WindowsXP所能提供的數(shù)據(jù)的一個(gè)子集。因?yàn)閃indows2000不包含組策略組結(jié)果集,它只存在于后續(xù)版本的操作系統(tǒng)。
要運(yùn)行組策略結(jié)果向?qū)?,啟?dòng)組策略管理控制臺(tái),右鍵點(diǎn)擊組策略結(jié)果節(jié)點(diǎn),然后運(yùn)行向?qū)?。向?qū)?huì)問你在本地計(jì)算機(jī)還是遠(yuǎn)程計(jì)算機(jī)上收集信息。
指定了計(jì)算機(jī)之后,如果你想收集特定用戶的策略設(shè)置,可以選擇一個(gè)已經(jīng)登錄到該計(jì)算機(jī)的用戶賬戶。向?qū)?huì)訪問你選定的計(jì)算機(jī),使用Windows管理規(guī)范(WMI)來收集最近的組策略執(zhí)行數(shù)據(jù),最后將報(bào)告顯示在組策略管理控制臺(tái)的結(jié)果面板中。
從排錯(cuò)的角度來看,結(jié)果中最值得關(guān)注的部分包含在摘要和策略事件標(biāo)簽頁(yè)。摘要標(biāo)簽頁(yè)提供了在最近一個(gè)執(zhí)行周期中,在計(jì)算機(jī)和特定用戶之上應(yīng)用的策略執(zhí)行動(dòng)作的總覽??匆豢凑獦?biāo)簽頁(yè)中的ComponentStatus部分,就知道核心執(zhí)行階段或客戶端擴(kuò)展階段中是否有失敗的部分。
如圖1所示,如果GroupPolicyInfrastructure的執(zhí)行狀態(tài)顯示為“Failed”,則表示核心執(zhí)行階段出了問題,如果Client-sideExtension的執(zhí)行狀態(tài)顯示為“Failed”,則表示客戶端擴(kuò)展執(zhí)行階段出了問題(如文件夾重定向)。

圖1:表明客戶端擴(kuò)展階段操作失敗的錯(cuò)誤消息
策略事件標(biāo)簽頁(yè)為你的排錯(cuò)工作提供了更多的有用信息。通過對(duì)組策略結(jié)果向?qū)樵兊挠?jì)算機(jī)上的應(yīng)用程序事件日志進(jìn)行過濾,就得到了此標(biāo)簽頁(yè)上的內(nèi)容。過濾后的視圖只顯示與組策略有關(guān)的事件。在這里,你可以得到很多有價(jià)值的信息,知道哪個(gè)部分工作正常,哪個(gè)部分存在問題。
我們來看一個(gè)例子,假設(shè)你的登錄腳本沒有運(yùn)行,但是摘要標(biāo)簽頁(yè)中的腳本客戶端擴(kuò)展組件狀態(tài)卻顯示成功了。如果你檢查策略事件標(biāo)簽頁(yè),就可以看到如圖2所示的與腳本執(zhí)行有關(guān)的錯(cuò)誤,它會(huì)告訴你腳本文件找不到了??赡苁欠?wù)器上的腳本文件丟失了,也可能是權(quán)限問題。不管怎樣,你發(fā)現(xiàn)了可以追蹤到問題根源的線索。在利用摘要和策略事件標(biāo)簽頁(yè)中的信息縮小了問題范圍之后,可以開始深入分析了。


圖2:指明腳本丟失的策略事件
欲知更多有關(guān)組策略排錯(cuò)知識(shí),請(qǐng)點(diǎn)擊組策略排錯(cuò)知識(shí)概述二。
【編輯推薦】
- 組策略管理控制臺(tái)概述
- 巧用組策略除去軟件廣告
- 組策略管理器被禁用如何進(jìn)行解鎖?
- Win2003下如何編輯組策略對(duì)象上的安全設(shè)置?
- 利用組策略如何修改活動(dòng)目錄域緩存登錄次數(shù)?