套用群組原則疑難排解指導
試用虛擬助理 - 其可協助您快速找出並修正常見 Active Directory 複寫問題
本指南提供用來針對組策略進行疑難解答的基本概念。 您將了解:
- 如何找出新的疑難解答資訊。
- 如何使用 事件檢視器 來篩選特定的組策略資訊。
- 如何讀取和解譯事件數據。
- 尋找失敗點的正確方法。
疑難排解檢查清單
從讀取系統事件記錄檔中記錄的群組原則事件開始。
- 警告事件會為您提供遵循的進一步資訊,以確保群組原則服務保持良好狀態。
- 錯誤事件會為您提供描述失敗和可能原因的資訊。
- 使用事件訊息中包含的 [更多資訊] 連結。
- 使用 [ 詳細數據] 索引標籤來檢視錯誤碼和描述。
使用群組原則作業記錄。
- 識別您要進行疑難排解的群組原則處理的執行個體的活動識別碼。
- 建立作業記錄的自訂檢視。
- 將記錄分成幾個階段:預先處理、處理中和後續處理。
- 將每個起始事件與其對應的結束事件合併。 調查所有警告和錯誤事件。
- 隔離相依元件並針對其進行疑難排解。
- 使用群組原則更新命令 (GPUPDATE) 來重新整理群組原則。 重複這些步驟,以判斷警告或錯誤是否仍然存在。
重要
重新整理組策略會變更自定義檢視中的活動標識碼。 進行疑難解答時,請務必使用最新的活動標識符來更新自定義檢視。
判斷群組原則處理的執行個體
在檢視組策略作業記錄之前,您必須先判斷失敗的組策略處理實例。
若要判斷組策略處理的實例,請遵循下列步驟:
- 開啟 [事件檢視器]。
- 在 [事件檢視器 [本機] 底下,選取 [Windows 記錄>系統]。
- 按兩下您想要疑難排解的群組原則警告或錯誤事件。
- 選取 [詳細數據] 索引標籤,然後核取 [易記] 檢視。 選取 [系統 ] 以展開 [系統 ] 節點。
- 在 [系統] 節點詳細數據中尋找 ActivityID。 您可以在查詢中使用此值 (不含左大括弧和右大括弧)。 將此值複製到 [記事本],以便稍後可供您使用,然後選取 [ 關閉]。
建立組策略實例的自定義檢視
計算機通常會有一個以上的組策略處理實例。 專用於執行終端機服務的計算機通常會有一個以上的組策略處理實例,並同時運作。 因此,請務必篩選組策略作業事件記錄檔,只顯示您要疑難解答之實例的事件。
使用下列程式建立組策略實例的自定義檢視。 您可以使用 事件檢視器 查詢來執行此動作。 此查詢會針對特定組策略處理實例,建立組策略作業記錄的篩選檢視。
若要建立組策略實例的自定義檢視,請遵循下列步驟:
開啟 [事件檢視器]。
以滑鼠右鍵按兩下 [自定義檢視],然後選取 [ 建立自定義檢視]。
選取 [XML] 索引標籤,然後選取 [手動編輯查詢] 複選框。 事件檢視器 會顯示一個對話框,說明手動編輯查詢可防止您使用 [篩選] 索引卷標來修改查詢。選取 [是]。
將 事件檢視器 查詢 (在此步驟結束時提供) 複製到剪貼簿。 將查詢貼到 [ 查詢] 方塊中。
<QueryList><Query Id="0" Path="Application"><Select Path="Microsoft-Windows-GroupPolicy/Operational">*[System/Correlation/@ActivityID='{INSERT ACTIVITY ID HERE}']</Select></Query></QueryList>
將您先前儲存的 ActivityID 從 [決定組策略處理實例] 區段複製到剪貼簿。 在 [查詢] 方塊中,反白顯示 [INSERT 活動標識碼 HERE],然後按 Ctrl+V 將 ActivityID 貼到文字上。
注意
請務必不要貼上前置和尾端大括弧 ({ })。 您必須包含這些大括弧,您的查詢才能正常運作。
在 [ 儲存篩選至自定義檢視 ] 對話框中,輸入對您建立之檢視有意義的名稱和描述。 選取 [確定]。
儲存的檢視名稱會出現在 [自定義檢視] 底下。 選取已儲存檢視的名稱,以在 事件檢視器 中顯示其事件。
重要
組策略服務會為每個原則處理實例指派唯 一的 ActivityID 。 例如,組策略服務會在使用者登入期間發生用戶原則處理時,指派唯 一的 ActivityID 。 當組策略重新整理時,組策略服務會將另一個唯 一的ActivityID 指派給負責重新整理用戶原則的組策略實例。
請確定組策略具有您要尋找的所有設定,且已正確連結。 以下是您必須經歷的索引標籤。 如果全部看起來都不錯,請移至有問題的用戶端計算機。
開啟提升許可權的命令提示字元,然後執行下列命令。
gpresult /h gp.html
gpresult
確認您已擷取的輸出,並尋找您遇到問題的 GPO。 它會產生錯誤,說明 GPO 為何未套用。如果您在輸出中
gpresult
發生錯誤,我們可以根據問題進行疑難解答。 否則,移至下一個步驟。開啟 事件檢視器 並瀏覽至應用程式和系統事件記錄檔。 應用程式事件記錄檔會提供組策略更新為何會正面失敗的詳細數據。
如需詳細資訊,請開啟作業事件記錄檔。 有事件包含已套用 GPO 的清單,以及拒絕 GPO 清單的原因。
大部分 GPO 問題都可以使用這些基本記錄來解決。
組策略記錄檔
您可以啟用詳細信息記錄,並檢查產生的記錄檔。 詳細資訊記錄可以降低效能並耗用大量的磁碟空間,因此最佳做法是只在必要時啟用詳細信息記錄。
啟用組策略服務 (GPSvc) 記錄
在發生 GPO 問題的用戶端上,遵循下列步驟來啟用組策略服務偵錯記錄。
開啟 [登錄編輯程式]。
找出並選取下列登錄子機碼:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion
在 [編輯] 功能表上,選取 [新增>金鑰]。
輸入 診斷,然後按 Enter。
以滑鼠右鍵按兩下 [診斷] 子機碼,選取 [新增>DWORD][32 位] 值。
輸入 GPSvcDebugLevel,然後按 Enter。
以滑鼠右鍵按兩下 [GPSvcDebugLevel],然後選取 [ 修改]。
在 [ 值數據 ] 方塊中,輸入 30002 (十六進位),然後選取 [ 確定]。
結束登錄編輯程式。
在命令提示字元視窗中,執行
gpupdate /force
命令,然後按 Enter。
然後,在下列資料夾中檢視 Gpsvc.log 檔案: %windir%\debug\usermode
注意
如果usermode資料夾不存在,請在 %windir%\debug 下建立它。 如果 %WINDIR%\debug\底下沒有 usermode 資料夾,則不會建立gpsvc.log檔案。
常見問題與解決方案
事件標識碼 1129
當群組原則因網路連線問題而無法套用時,會記錄事件識別碼 1129。
在此情況下,DC 會封鎖對羽量型目錄存取通訊協定 (LDAP) 埠 389 的連線。 命令 gpupdate
失敗,並出現下列錯誤:
檢查事件記錄檔時,您可能會發現下列事件描述:
The processing of Group Policy failed because of lack of network connectivity to a domain controller. This may be a transient condition. A success message would be generated once the machine gets connected to the domain controller and Group Policy has successfully processed. If you do not see a success Message for several hours, then contact your administrator.
在此情況下,請啟用 gpsvc 偵錯記錄。 在 gpsvc 記錄檔中,您可能會發現輸出「GetLdapHandle:無法 <連線 DC> 與 81」。
啟用網路追蹤以驗證:
- 在月臺層級完成LDAP查詢。
- 此查詢會針對保留 ldap 服務角色的月臺傳回兩個專案。
- 針對其中一個,我們可以看到名稱解析正在進行中。
- 因為名稱解析成功,所以它會嘗試執行 ldap 系結,但在 TCP 交握失敗,因為埠 389 遭到封鎖。
- 如果 DC 對於埠 389 上的 TCP 交握沒有答案,後續步驟是涉及客戶網路小組,並提供此資訊。
- 請確定在這類案例中,您會使用上述行動計劃中指定的所有記錄,將它們相互關聯,並引導您找出根本原因,或至少縮小問題範圍。
事件標識碼 1002
以下是事件識別碼 1002 的描述:
The processing of Group Policy failed because of a system allocation failure. Please ensure the computer is not running low on resources (memory, available disk space). Group Policy processing will be attempted at the next refresh cycle.
當計算機從低資源狀態傳回時,通常會解決此錯誤事件。 可能的解決方法包括:
- 請確定計算機記憶體或可用磁碟空間不足。
- 如果計算機已長時間運作,請重新啟動計算機。
事件標識碼 1006
以下是事件識別碼 1006 的描述:
The processing of Group Policy failed. Windows could not authenticate to the Active Directory service on a domain controller. (LDAP Bind function call failed). Look in the Details tab for error code and description.
修正系結至目錄之後,通常會解決這個錯誤事件。 組策略服務會記錄錯誤碼,該錯誤碼會出現在 事件檢視器 中錯誤訊息的 [詳細數據] 索引標籤上。 錯誤碼(顯示為十進位)和錯誤描述欄位會進一步識別失敗的原因。 使用下列清單評估錯誤碼:
錯誤碼 5 (拒絕存取)
此錯誤碼可能表示用戶沒有存取 Active Directory 的許可權。
錯誤碼 49 (認證無效)
此錯誤碼可能表示用戶的密碼在使用者仍登入計算機時已過期。 若要更正無效的認證:
- 變更用戶的密碼。
- 鎖定/解除鎖定工作站。
- 檢查是否有任何系統服務以用戶帳戶身分執行。
- 確認服務組態中的密碼對用戶帳戶是正確的。
錯誤碼為 258 (逾時)
此錯誤碼可能表示 DNS 設定不正確。 若要更正逾時問題,請使用
nslookup
工具來確認 _ldap._tcp。<domain-dns-name> 記錄已註冊並指向正確的伺服器(其中 <domain-dns-name> 是您 Active Directory 網域的完整域名)。注意
如果您的網路限制或封鎖因特網控制訊息通訊協定 (ICMP) 封包,這些步驟可能會有不同的結果。
事件標識碼 1030
以下是事件識別碼 1030 的描述:
The processing of Group Policy failed. Windows attempted to retrieve new Group Policy settings for this user or computer. Look in the Details tab for error code and description. Windows will automatically retry this operation at the next refresh cycle. Computers joined to the domain must have proper name resolution and network connectivity to a domain controller for discovery of new Group Policy objects and settings. An event will be logged when Group Policy is successful.
檢查LDAP埠是否已開啟。 如果沒有,請確定埠已在防火牆上開啟,並在用戶端和域控制器本機開啟。
如何判斷埠區塊
- 使用 portqueryUI 工具來判斷哪些埠遭到封鎖。 如需詳細資訊,請參閱 如何使用 PortQry 針對 Active Directory 連線問題進行疑難解答。
- 針對埠 389 使用 telnet 來檢查 ldap 埠上的連線。
- 如何設定 網域和信任埠。
- 設定預設輸出 防火牆行為。
- 設定 組策略的防火牆埠需求。
確定客戶端無法解析主機名的 DNS 名稱解析
- 如果客戶端無法解析主機名,則最好確認上面所列的主機名解析順序應該使用。 如果名稱不存在於用戶端使用的任何資源中,您必須決定要新增的資源。 如果名稱存在於其中一個資源中,例如 DNS 伺服器或 Windows 因特網名稱服務 (WINS) 伺服器,且用戶端未正確解析名稱,請將注意力放在針對該特定資源進行疑難解答。
- 此外,請確認客戶端嘗試解析主機名,而不是 NetBIOS 名稱。 許多應用程式都有多個方法,可用來解析名稱。 這特別適用於郵件和資料庫應用程式。 應用程式可設定為使用 NetBIOS 連線到資源。 視用戶端組態而定,用戶端可能會略過主機名解析。 您必須從該處將連線類型變更為 TCP/IP 套接字,或將問題疑難解答為 NetBIOS 問題。
組策略容器許可權
使用下列 Get-GPPermission PowerShell Cmdlet 取得指定 GPO 上所有安全性主體的許可權等級:
Get-GPPermission -Name "TestGPO" -All
事件標識碼 1058
以下是事件識別碼 1058 的描述:
The processing of Group Policy failed. Windows attempted to read the file %9 from a domain controller and was not successful. Group Policy settings may not be applied until this event is resolved. This issue may be transient and could be caused by one or more of the following:
1. Name Resolution/Network Connectivity to the current domain controller.
2. File Replication Service Latency (a file created on another domain controller has not replicated to the current domain controller).
3. The Distributed File System (DFS) client has been disabled.
正確連線到組策略範本。 組策略服務會記錄域控制器的名稱和錯誤碼,其會出現在 事件檢視器 中錯誤訊息的 [詳細數據] 索引標籤上。 錯誤碼(顯示為十進位)和錯誤描述欄位會進一步識別失敗的原因。 使用下列清單評估錯誤碼:
錯誤碼 3 (系統找不到指定的路徑)
此錯誤碼通常表示用戶端電腦找不到 事件中指定的路徑。 若要測試與域控制器 sysvol 的用戶端連線:
識別計算機所使用的域控制器。 域控制器名稱會記錄在錯誤事件的詳細數據中。
識別使用者或電腦處理期間是否發生失敗。 針對使用者原則處理, 事件的 [使用者 ] 欄位會顯示有效的使用者名稱;針對計算機原則處理, [使用者 ] 欄位會顯示 “SYSTEM”。
將gpt.ini的完整網路路徑撰寫為 \\<dcName\SYSVOL\<domain>\Policies\<guid>\gpt.ini其中 <dcName>> 是域控制器的名稱、<網域>是網域的名稱,而 <guid> 是原則資料夾的 GUID。 所有信息都會出現在事件中。
使用上一個步驟中取得的完整網路路徑,確認您可以讀取 gpt.ini 。 若要這樣做,請開啟命令提示字元視窗並輸入 <file_path>,其中 <file_path> 是上一個步驟中建構的路徑,然後按 Enter。
注意
您必須以先前失敗的使用者或電腦身分執行此命令。
錯誤碼 5 (拒絕存取)
此錯誤碼通常表示使用者或計算機沒有適當的許可權可存取事件中指定的路徑。 在域控制器上,確定使用者和計算機具有讀取事件中所指定路徑的適當許可權。 若要測試電腦和使用者認證:
- 註銷並重新啟動電腦。
- 使用先前使用的網域認證登入計算機。
錯誤碼 53 (找不到網路路徑)
此錯誤碼通常表示計算機無法解析所提供網路路徑中的名稱。 若要測試網路路徑名稱解析:
- 識別計算機所使用的域控制器。 域控制器的名稱會記錄在錯誤事件的詳細數據中。
- 嘗試使用路徑 \\<dcName\netlogon 連線到域控制器上的 netlogon 共用,其中 <dcName>> 是錯誤事件中的域控制器名稱。
事件標識碼 1053
以下是事件識別碼 1053 的描述:
The processing of Group Policy failed. Windows could not resolve the user name. This could be caused by one or more of the following:
1. Name Resolution failure on the current domain controller.
2. Active Directory Replication Latency (an account created on another domain controller has not replicated to the current domain controller).
組策略服務會記錄域控制器的名稱和錯誤碼。 此資訊會出現在 事件檢視器 錯誤訊息的 [詳細數據] 索引標籤上。 錯誤碼(顯示為十進位)和錯誤描述欄位會進一步識別失敗的原因。 使用下列清單評估錯誤碼:
錯誤碼 5 (拒絕存取):此錯誤碼可能表示使用者的密碼在使用者仍登入計算機時已過期。 如果使用者最近變更其密碼,此問題可能會在允許 Active Directory 複寫成功之後消失。
- 變更用戶密碼。
- 鎖定/解除鎖定工作站。
- 檢查是否有任何系統服務以用戶帳戶身分執行。
- 確認服務組態中的密碼對用戶帳戶是正確的。
錯誤碼 14 (沒有足夠的記憶體可以完成此作業 )
此錯誤碼可能表示 Windows 沒有足夠的記憶體來完成工作。 調查系統事件記錄檔中是否有任何其他記憶體特定問題。
錯誤碼 525 (指定的使用者不存在)
此錯誤碼可能表示組織單位的許可權不正確。 使用者需要對包含使用者對象的組織單位進行讀取存取。 同樣地,計算機需要對包含計算機對象的組織單位進行讀取存取。
錯誤碼 1355 (指定的網域不存在或無法連絡)
此錯誤碼可能表示名稱解析的錯誤或設定不正確(DNS)。 使用
nslookup
來確認您可以解析使用者網域中域控制器的位址。錯誤碼 1727 (遠端過程呼叫失敗且未執行)
此錯誤碼可能表示防火牆規則無法與域控制器通訊。 如果您已安裝第三方防火牆軟體,請檢查防火牆的設定,或嘗試暫時停用防火牆,並確認組策略已成功處理。
事件標識碼 1097
以下是事件識別碼 1097 的描述:
The processing of Group Policy failed. Windows could not determine the computer account to enforce Group Policy settings. This may be transient. Group Policy settings, including computer configuration, will not be enforced for this computer.
網域計算機會像網域用戶一樣向網域進行驗證。 Windows 需要電腦登入,才能將組策略套用至計算機。 可能的解決方法包括:
- 確認電腦上的時間與域控制器上的時間同步。
- 如果計算機在與域控制器不同的時區中設定,則考慮時區設定錯誤。
- 計算機與域控制器之間的時間差異大於五分鐘,可能會導致計算機無法向網域進行驗證。 使用
w32tm /resync
命令強制時間同步處理時間服務。 - 重新啟動電腦。
事件標識碼 4016 和事件標識碼 5016
在定期組策略重新整理期間,服務會使用它在前置處理階段中收集的資訊來套用每個原則設定。 服務會藉由將先前收集的信息傳遞至每個系統和非系統客戶端擴充功能來完成這項作業。 此階段從錄製用戶端擴充功能 (CSE) 處理事件開始。
事件識別碼 | 事件類型 | 說明 |
---|---|---|
4016 | Informational | 每次組策略用戶端擴充功能開始處理時,組策略服務都會記錄此事件。 |
5016 | 成功 | 組策略服務會在組策略客戶端擴充功能順利完成處理時,記錄此事件。 |
當您移至 [事件識別子 5016] 底下的 [詳細 數據] 索引標籤時,您可能會發現下列傳回狀態:
ErrorCode 2147483658 <-> 0x8000000a -2147483638 E_PENDING "The data necessary to complete this operation is not yet available"
注意
傳回值 “-2147483638(E_PENDING)”預期在稽核用戶端擴充處理期間設計。 它表示組策略引擎已成功啟動異步線程,以處理稽核延伸模組資訊。 這也表示即使新的稽核設定有效或套用在用戶端上,也會記錄傳回值。
判斷進階稽核用戶端延伸模組 (AuditCSE) 處理
從事件標識碼 5016 收到傳回值2147483658之後,您可以在 Security-Audit-Configuration-Client>Operational 事件記錄檔下檢查 AuditCSE 處理的詳細層級事件。 這項資訊有助於觀察進階稽核組策略設定的處理,因此偵測到任何失敗/錯誤。
- 稽核客戶端擴充功能 (Auditcse.dll) 將會處理稽核客戶端擴充功能。
- 它在 Security-Audit-Configuration-Client>作業記錄下有自己的記錄。
請遵循下列步驟來檢閱 Security-Audit-Configuration-Client>Operational 事件記錄檔,以針對稽核組策略設定進行疑難解答:
- 開啟 [事件查看器]。
- 在 [事件檢視器 (local)] 下,選取 [應用程式與服務記錄>] Microsoft>[Windows>Security-Audit-Configuration-Client>Operational]。
- 按兩下 [警告] 或 [錯誤事件] 進行疑難解答。 另請檢閱 這些事件的 [詳細數據 ] 索引標籤,以取得任何 錯誤 值。
- 否則,請檢閱 Informational 事件,以擷取稽核延伸模組的完整處理。
在您連絡 Microsoft 支援服務 之前收集重要資訊
在您完成支援要求之前,建議您使用 Windows Live Dump 功能,將核心記憶體的快照集儲存在受影響的電腦上。 若要這樣做,請遵循下列步驟:
執行下列命令來擷取組策略服務詳細資訊記錄:
md %windir%\debug\usermode reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics" /v GPSvcDebugLevel /t REG_DWORD /d "0x00030002"
使用
gpupdate /force
命令重新整理本機和 AD 型組策略設定。提示
如果您針對特定使用者或電腦遺失設定進行疑難解答,請使用下列其中一個命令:
Gpupdate /force /target:computer
Gpupdate /force /target:user
執行下列命令,將結果集原則集 (RSoP) 報告儲存至 HTML 檔案:
gpresult /h %Temp%\GPResult.htm
執行下列命令,將 RSoP 摘要資料儲存至 txt 檔案:
gpresult /r >%Temp%\GPResult.txt
執行下列命令來匯出 GPExtensions 登入機碼:
reg export "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions" %Temp%\GPExtensions.reg
執行下列命令來匯出系統、應用程式和組策略作業事件檢視器記錄:
wevtutil.exe export-log Application %Temp%\Application.evtx /overwrite:true wevtutil.exe export-log System %Temp%\System.evtx /overwrite:true wevtutil.exe export-log Microsoft-Windows-GroupPolicy/Operational %Temp%\GroupPolicy.evtx /overwrite:true
擷取下列檔案:
- %Temp%\Application.evtx
- %Temp%\System.evtx
- %Temp%\GroupPolicy.evtx
- %Temp%\GPExtensions.reg
- %Temp%\GPResult.txt
- %Temp%\GPResult.html
- %windir%\debug\usermode\gpsvc.log
完成後,您可以執行下列命令來停止組策略服務記錄:
reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Diagnostics" /v GPSvcDebugLevel /t REG_DWORD /d "0x00000000" /f
資料收集
如果您需要Microsoft支援的協助,建議您遵循使用 TSS 收集組策略問題中的資訊中所述的步驟來收集資訊。