Windows 7 クライアントが起動時にグループ ポリシーを断続的に適用できない

この記事では、Windows 7 クライアントが起動時にグループ ポリシーを断続的に適用できない問題の解決策について説明します。

適用対象: Windows クライアント (サポートされているすべてのバージョン)
元の 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 は、ネットワーク接続リンクが速度/双方向で <確立されていることを示します>
情報 <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}: トランスポートの追加 (<IP アドレス>) <DateTime> [SESSION] Winsock Addrs: <IP アドレス> (1) アドレスが変更されました。 <DateTime> [CRITICAL] NetpDcGetDcNext: _ldap._tcp.dc._msdcs.contoso.com.: DNS を照会できません。 1460 0x5b4 <DateTime> [CRITICAL] NetpDcGetNameIp: .: contoso.comDnsQuery からデータが返されません。 <DateTime> [CRITICAL] DBG: NlDiscoverDc: DC が見つかりません。 <DateTime> [CRITICAL] 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. [ 基本] で[ 10 進数] を選択します。

  7. [値データ] ボックスに「 60」と入力し、[ OK] を選択します。

  8. レジストリ エディターを終了し、コンピューターを再起動します。

  9. グループ ポリシースタートアップ スクリプトが実行されない場合は、レジストリ エントリの値をGpNetworkStartTimeoutPolicyValue増やします。

詳細

指定する値は、接続が確立されるのに十分な長さである必要があります。 タイムアウト期間中、Windows は 2 秒ごとに接続状態をチェックし、接続が確認されるとすぐにシステムの起動を続行します。 そのため、高い側でエラーを実行することをお勧めします。 システムが正当に切断されている場合 (たとえば、切断されたネットワーク ケーブル、オンライン サーバーなど)、Windows はタイムアウト期間全体にわたってストールします。

また、グループ ポリシーを使用して定義することもできます。

ポリシーの場所: コンピューター構成>ポリシー > 管理 テンプレート > システム > グループ ポリシー設定名: スタートアップ ポリシー処理待機時間レジストリ キー:HKLM\Software\Policies\Microsoft\Windows\System!GpNetworkStartTimeoutPolicyValue

グループ ポリシー設定を定義すると、手動設定がオーバーライドされます。 手動とグループ ポリシーの設定が定義されていない場合、値は次のレジストリの場所から選択されます。

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

タイムアウト期間が定義されていないので、システムは独自のアルゴリズムを使用して、平均タイムアウト期間を計算して到着します。 この値は、上記のレジストリの場所に格納されます。 システムによって異なる場合があり、以前のログイン試行など、さまざまな要因に依存します。

注:

"スタートアップ ポリシーの処理時間" のグループ ポリシー説明は詳細ではなく、すべてのシナリオをカバーしているわけではありません。 ポリシーが現在構成されていないからといって、既定のタイムアウト値である 30 秒を使用するわけではありません。