Windows 7 用戶端在啟動時間歇性地無法套用群組原則

本文針對 Windows 7 用戶端在啟動時間歇性無法套用群組原則的問題提供解決方案。

原始產品版本:   Windows 7 Service Pack 1
原始 KB 編號:   2421599

徵狀

Windows 7 用戶端在啟動或重新開機時間歇性失敗的群組原則處理。 下列事件會記錄在系統事件記錄中:

錯誤 9/9/2010 2:43:29 PM NETLOGON 5719 錯誤 9/9/2010 2:43:31 PM GroupPolicy 1055

原因

此行為是由於網路初始化與尋找網域控制站及處理群組原則之間的競爭條件所造成。 如果網路無法使用,則不會放置網域控制站,而且群組原則處理也會失敗。 一旦作業系統已載入,且已協商和建立網路連結,群組原則的後臺重新整理便會成功。

下列事件會反映條件:

資訊 <DateTime> EventLog 6006 表示系統關閉
資訊 <DateTime> e1kexpress 33 表示您的網路連線連結已建立 <speed/duplex>
資訊 <DateTime> EventLog 6005 表示事件記錄服務已啟動
資訊 <DateTime> Dhcp-Client 50036 表示已啟動 dhcp 用戶端服務
錯誤 <DateTime> NETLOGON 5719 表示 NETLOGON 無法抵達任何網域控制站
錯誤 <DateTime> GroupPolicy 1055 表示群組原則處理失敗
資訊 <DateTime> GroupPolicy 1503 表示群組原則處理成功

您也可以透過記錄檔加以確認 netlogon

<DateTime> [SESSION] \Device\ NetBT_Tcpip_ {53267BA1-EB8C-4348-BD81-41C3FF162EE9}: Transport 新增 (<IP Address>) <DateTime> [SESSION] Winsock Addrs: <IP Address> (1) 位址已變更。 <DateTime> 重要NetpDcGetDcNext: _ldap 不能查詢 DNS 的情況:。 1460 0x5b4 <DateTime> [緊急] NetpDcGetNameIp: contoso.com 。:沒有從 DnsQuery 傳回的資料。 <DateTime> 重要DBG: NlDiscoverDc:無法找到 DC。 <DateTime> 重要DBG: NlSessionSetup:會話設定:無法選取信任的 DC <DateTime> [session] DBG: NlSetStatusClientSession:將線上狀態設定為 c000005e <DateTime> [SESSION] DBG: NlSessionSetup:會話設定失敗

解決方案

若要解決此問題,您可以設定登錄值,以延遲群組原則的應用程式:

  1. 開啟 [登錄編輯程式]。

  2. 展開下列子機碼: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

  3. 以滑鼠右鍵按一下 Winlogon ,指向 [ 新增],然後選取 [ DWORD 值]。

  4. 若要命名新的專案,請輸入 GpNetworkStartTimeoutPolicyValue ,然後按 enter。

  5. 按一下滑鼠右鍵 GpNetworkStartTimeoutPolicyValue ,然後選取 [ 修改]。

  6. 在 [ 基本] 底下,選取 [ 十進位]。

  7. 在 [數值資料] 方塊中,輸入 60,然後選取 [確定]

  8. 請結束登錄編輯程式,然後重新開機電腦。

  9. 若群組原則啟動腳本未執行,請增加登錄專案的值 GpNetworkStartTimeoutPolicyValue

其他相關資訊

指定的值應該足夠長,以確保連接已完成。 在超時期間內,Windows 將每兩秒檢查一次線上狀態,並且在確認連線後,系統就會立即繼續系統啟動。 因此,建議使用 erring 高邊。 如果系統合法中斷連線 (例如,中斷連線網路電纜、離線服務器等) ,Windows 會在整個超時期間停止。

也可以透過「群組原則」來定義:

原則位置:電腦設定 > 原則 > 管理員範本 > 系統 > 群組原則設定名稱:啟動原則處理等候時間登錄機碼: HKLM\Software\Policies\Microsoft\Windows\System!GpNetworkStartTimeoutPolicyValue

如果您定義群組原則設定,它會覆寫手動設定。 若未定義「手動」和「群組原則」設定,則會從下列登錄位置挑選值:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\History

由於沒有定義的超時期間,系統會使用自己的演算法進行計算,並以平均的超時期限到來。 此值儲存在上述登錄位置。 它可能會因系統而異,取決於各種因素,例如先前的登入嘗試。

注意

「啟動原則處理等待時間」的群組原則描述不是詳細的,也不涵蓋所有的案例。 因為我們目前並未設定原則,而不表示我們要使用30秒的預設超時值。