ドメイン コントローラーでファイル共有やグループ ポリシースナップインを開くことはできません

この記事では、ドメイン コントローラー上のワークステーションまたはサーバー サービスに対して SMB 署名が無効になっている場合に発生する問題を解決する方法について説明します。

適用対象: Windows Server 2003
元の KB 番号: 839499

概要

Windows Server 2003 ドメイン コントローラーまたは Windows 2000 Server ドメイン コントローラーでは、ファイル共有またはグループ ポリシー スナップインを開くことができません。 ドメイン コントローラーにローカルでログオンし、ドメイン コントローラーで共有を開こうとすると、パスワード プロンプトが繰り返し表示され、共有を開くことができません。 この問題は、レジストリを変更することで解決できます。

警告

レジストリ エディタや他の方法を使用してレジストリを変更する際、適切に変更しないと重大な問題を引き起こす可能性があります。 場合によっては、オペレーティング システムの再インストールが必要になります。 こうした問題の修復について、マイクロソフトはいかなる保証もいたしません。 レジストリの変更はユーザー自身の責任において行ってください。

現象

シナリオ 1 - ドメイン コントローラー上のワークステーション サービスに対してサーバー メッセージ ブロック (SMB) 署名が無効になっていますが、同じドメイン コントローラー上のサーバー サービスには SMB 署名が必要です

Windows Server 2003

ドメイン コントローラーでスナップイングループ ポリシー開こうとすると、次のようなエラー メッセージが表示されます。

この操作を実行するアクセス許可がありません。 アクセスが拒否されました。

ドメイン コントローラーは、アプリケーション イベント ログに次のイベントを 5 分ごとに記録します。

Windows 2000 Server

ドメイン コントローラーでスナップイングループ ポリシー開こうとすると、次のようなエラー メッセージが表示されます。

この操作を実行するアクセス許可がありません。

アクセスが拒否されました。 ドメイン コントローラーは、アプリケーション イベント ログに次のイベントを記録します。

ドメイン コントローラーにローカルでログオンし、ドメイン コントローラーで共有を開こうとすると、パスワード プロンプトが繰り返し表示され、共有を開くことができません。

シナリオ 2 - ドメイン コントローラー上のサーバー サービスに対して SMB 署名が無効になっていますが、同じドメイン コントローラー上のワークステーション サービスには SMB 署名が必要です

Windows Server 2003

グループ ポリシー オブジェクトを開けませんでした。 適切な権限を持っていない可能性があります。

アカウントは、このステーションからのログインを許可されていません。

ネットワーク トレースで、クライアントで SMB 署名が有効で必要であり、サーバーで無効になっている場合、TCP セッションへの接続は方言ネゴシエーションの後に正常に閉じられ、クライアントは次のエラーを受け取ります。

1240 (ERROR_LOGIN_WKSTA_RESTRICTION)

ドメイン コントローラーは、5 分ごとにアプリケーション イベント ログに次のイベントを記録します。ドメイン コントローラーにローカルでログオンし、ドメイン コントローラーでファイル共有を開こうとすると、次のようなエラー メッセージが表示されます。

\\Server_name\Share_Name にアクセスできません。 このネットワーク リソースを使用するアクセス許可がない可能性があります。 アクセス許可があるかどうかをこのサーバーの管理者に問い合わせてください。

アカウントは、このステーションからのログインを許可されていません。

注:

ネットワーク トレースで SMB 署名が有効になっていて、クライアントで SMB 署名が必要であり、サーバーで無効になっている場合、方言ネゴシエーションの後、TCP セッションへの接続は正常に閉じられます。 また、クライアントは次のエラー メッセージを受け取ります: 1240 (ERROR_LOGIN_WKSTA_RESTRICTION)

Windows 2000 Server

ドメイン コントローラーでスナップイングループ ポリシー開こうとすると、次のようなエラー メッセージが表示されます。

グループ ポリシー オブジェクトを開けませんでした。 適切な権限を持っていない可能性があります。

アカウントは、このステーションからのログインを許可されていません。

ドメイン コントローラーは、アプリケーション イベント ログに次のイベントを記録します。ドメイン コントローラーにローカルでログオンし、ドメイン コントローラーでファイル共有を開こうとすると、次のようなエラー メッセージが表示されます。

\\Server_name\Share_Name にアクセスできません。

アカウントは、このステーションからのログインを許可されていません。

注:

ネットワーク トレースで SMB 署名が有効になっていて、クライアントで SMB 署名が必要であり、サーバーで無効になっている場合、方言ネゴシエーションの後、TCP セッションへの接続は正常に閉じられます。 また、クライアントは次のエラー メッセージを受け取ります: 1240 (ERROR_LOGIN_WKSTA_RESTRICTION)

解決方法

この動作を解決するには、次の手順に従います。

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、「 Windows XP でレジストリをバックアップおよび復元する方法」を参照してください。

手順 1 - レジストリを変更する

enablesecuritysignature レジストリ エントリの値を変更します。 これを行うには、次の手順を実行します。

  1. ドメイン コントローラーで、[ スタート] をクリックし、[実行] をクリックします

  2. [開く] ボックスに regedit コマンドをコピーして貼り付けて入力し、Enter キーを押します。

    [開く] ボックスに regedit が入力された [実行] ウィンドウのスクリーンショット。

  3. 次のレジストリ サブキーを見つけてクリックします。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters

  4. 右側のウィンドウで、[ enablesecuritysignature] をダブルクリックし、[ 値データ ] ボックスに「1」と入力し、[OK] をクリック します

  5. [ requiresecuritysignature] をダブルクリックし、[ 値データ ] ボックスに「1」と入力し、[OK] をクリック します

  6. 次のレジストリ サブキーを見つけてクリックします。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanworkstation\parameters

  7. 右側のウィンドウで、[ enablesecuritysignature] をダブルクリックし、[ 値データ ] ボックスに「1」と入力し、[OK] をクリック します

  8. [ requiresecuritysignature] をダブルクリックし、[ 値データ ] ボックスに「0」と入力し、[OK] をクリック します

手順 2 - サーバー サービスとワークステーション サービスを再起動します。レジストリ値を変更したら、サーバー サービスとワークステーション サービスを再起動します。

重要

このアクションにより、レジストリ値が以前の値に戻グループ ポリシー可能性があるため、ドメイン コントローラーを再起動しないでください。

サーバー サービスとワークステーション サービスを再起動するには、次の手順に従います。

  1. [ スタート] ボタンをクリックして [ 管理ツール] をポイントし、[ サービス] をクリックします。

  2. [サーバー] を右クリックし、[再起動] をクリックします。

    [サーバー] が選択され、[再起動] が選択されたメニューの [サービス] ウィンドウのスクリーンショット。

  3. [ワークステーション] を右クリックし、[再起動] をクリックします。

注:

他のサービスを再起動するように求められたら、[はい] をクリックします。

手順 3 - Sysvol 共有を更新する

ドメイン コントローラーの Sysvol 共有を更新します。 これを行うには、次の手順を実行します。

  1. ドメイン コントローラーの Sysvol 共有を開きます。 これを行うには、[スタート] をクリックし、[実行] をクリックし、[開く] ボックスに「\\Server_Name\Sysvol」と入力し、Enter キーを押します。
  2. Sysvol 共有が開かない場合は、手順 1 - レジストリを変更し、手順 2 - サーバーサービスとワークステーション サービスを再起動する を繰り返します。
  3. 手順 1 - レジストリを変更し、手順 2 - 影響を受ける各ドメイン コントローラーのサーバーサービスとワークステーション サービスを再起動して、各ドメイン コントローラーが独自の Sysvol 共有にアクセスできることを確認します。

手順 4 - SMB ポリシー設定を設定する

各ドメイン コントローラーの Sysvol 共有に接続した後、ドメイン コントローラー セキュリティ ポリシー スナップインを開き、SMB 署名ポリシー設定を設定します。 これを行うには、次の手順を実行します。

  1. [ スタート] をクリックし、[ プログラム] をポイントし、[ 管理ツール] をポイントして、[ ドメイン コントローラー セキュリティ ポリシー] をクリックします。

  2. 左側のウィンドウで、[ ローカル ポリシー] を展開し、[ セキュリティ オプション] をクリックします。

  3. 右側のウィンドウで、[ Microsoft ネットワーク サーバー: デジタル署名通信 (常に)] をダブルクリックします。

    注:

    Windows 2000 Server では、同等のポリシー設定は デジタル署名サーバー通信 (常に) です

    重要

    SMB 署名をサポートしていないネットワーク上のクライアント コンピューターがある場合は、 Microsoft ネットワーク サーバー: デジタル署名通信 (常に) ポリシー設定を有効にしないでください。 この設定を有効にした場合、すべてのクライアント通信に SMB 署名が必要であり、SMB 署名をサポートしていないクライアント コンピューターは他のコンピューターに接続できません。 たとえば、Apple Macintosh OS X または Microsoft Windows 95 を実行しているクライアントは、SMB 署名をサポートしていません。 ネットワークに SMB 署名をサポートしていないクライアントが含まれている場合は、このポリシーを無効に設定します。

    [セキュリティ オプション] が選択されている [既定のドメイン コントローラーのセキュリティ設定] ウィンドウのスクリーンショット。

  4. [このポリシー設定を定義チェック] ボックスをクリックし、[有効] をクリックし、[OK] をクリックします

    [このポリシーの定義] 設定が選択され、有効になっている Microsoft ネットワーク サーバー ウィンドウのスクリーンショット。

  5. [Microsoft ネットワーク サーバー] をダブルクリックします。(クライアントが同意した場合)、通信にデジタル署名します

    注:

    Windows 2000 Server の場合、同等のポリシー設定は デジタル署名サーバー通信 (可能な場合) です

  6. [このポリシー設定を定義チェック] ボックスをクリックし、[有効] をクリックします。

  7. [OK] をクリックします。

  8. [Microsoft ネットワーク クライアント: デジタル署名通信 (常に)] をダブルクリックします。

  9. [このポリシー設定を定義する] チェック ボックスをオフにし、[OK] をクリックします

    [このポリシー設定の定義] チェックボックスがオフの Microsoft ネットワーク サーバー ウィンドウのスクリーンショット。

  10. [Microsoft ネットワーク クライアント: 通信にデジタル署名する (サーバーが同意する場合)] をダブルクリックします。

  11. [このポリシー設定を定義する] チェック ボックスをオフにし、[OK] をクリックします

手順 5 - グループ ポリシー Update ユーティリティを実行する

フォース スイッチを使用して、グループ ポリシー Update ユーティリティ (Gpupdate.exe) を実行します。 これを行うには、次の手順を実行します。

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。

  2. [開く] ボックスに cmd コマンドをコピーして貼り付け (または入力) し、Enter キーを押します。

    [開く] ボックスに cmd と入力された [実行] ウィンドウのスクリーンショット。

  3. コマンド プロンプトに gpupdate /force と入力し、Enter キーを押します。

    注:

    グループ ポリシー Update ユーティリティが Windows 2000 Server に存在しません。 Windows 2000 Server では、同等のコマンドは です secedit /refreshpolicy machine_policy /enforce

手順 6 - アプリケーション イベント ログを確認する

グループ ポリシー Update ユーティリティを実行した後、アプリケーション イベント ログをチェックして、グループ ポリシー設定が正常に更新されたことを確認します。 グループ ポリシーの更新が成功すると、ドメイン コントローラーはイベント ID 1704 をログに記録します。 イベント ビューアーでアプリケーション ログを開くには、次の手順に従います。

  1. [スタート] をクリックし、[管理ツール] をポイントして、[イベント ビューアー] をクリックします。

  2. 左側のウィンドウで、[ アプリケーション] をクリックします。

    [アプリケーション] が選択された [イベント ビューアー] ウィンドウのスクリーンショット。

  3. イベント ID 1704 をダブルクリックし、グループ ポリシー設定が正常に適用されたことを確認します。

    注:

    イベントのソースは SceCli です。

    イベント ID 1704 のイベント プロパティ ウィンドウのスクリーンショット。

手順 7 - レジストリ値を確認する

「手順 1 - レジストリを変更する」で変更したレジストリ値を確認して、レジストリ値が変更されていないことを確認します。

注:

この手順では、競合するポリシー設定が別のグループまたは組織単位 (OU) レベルで適用されていないことを確認します。 たとえば、Microsoft ネットワーク クライアント: ドメイン コントローラー セキュリティ ポリシーで通信にデジタル署名 (サーバーが同意した場合) ポリシーが "定義されていません" として構成されているが、ドメイン セキュリティ ポリシーでこの同じポリシーが無効に構成されている場合、ワークステーション サービスの SMB 署名は無効になります。

手順 8 - ポリシーの結果セット (RSoP) スナップインを使用して SMB 署名ポリシー設定を確認する

グループ ポリシー Update ユーティリティの実行後にレジストリ値が変更された場合は、Windows Server 2003 の RSoP スナップインを使用して SMB 署名ポリシー設定をチェックします。 これを行うには、次の手順を実行します。

  1. [ スタート] をクリックし、[ 実行] をクリックし、[ 開く ] ボックスに「rsop.msc」と入力し、[OK] をクリック します

    [開く] ボックスに rsop.msc と入力された [実行] ウィンドウのスクリーンショット。

  2. RSoP スナップインでは、SMB 署名設定は次のパスにあります。 コンピューターの構成/Windows 設定/セキュリティ設定/ローカル ポリシー/セキュリティ オプション

    注:

    Windows 2000 Server を実行している場合は、Windows 2000 Server Resource Kit から グループ ポリシー Update ユーティリティをインストールし、コマンド プロンプトで次のように入力します。gpresult /scope computer /v

  3. このコマンドを実行すると、[適用されたグループ ポリシーオブジェクト] の一覧が表示されます。 この一覧には、コンピューター アカウントに適用されているすべてのグループ ポリシー オブジェクトが表示されます。 これらのすべてのグループ ポリシー オブジェクトの SMB 署名ポリシー設定を確認します。

その他のリソース

この動作は、ワークステーション サービスとサーバー サービスの SMB 署名設定が互いに矛盾している場合に発生します。 このようにドメイン コントローラーを構成すると、ドメイン コントローラーの Workstation サービスはドメイン コントローラーの Sysvol 共有に接続できません。 そのため、スナップイングループ ポリシー開始することはできません。また、SMB 署名ポリシーが既定のドメイン コントローラー セキュリティ ポリシーによって設定されている場合、この問題はネットワーク上のすべてのドメイン コントローラーに影響します。 そのため、Active Directory ディレクトリ サービスのグループ ポリシーレプリケーションは失敗し、これらの設定を元に戻すためにグループ ポリシーを編集することはできません。

シナリオ 1 - ドメイン コントローラー診断ツール (DcDiag.exe) を実行すると、Windows 2000 Server と Windows Server 2003 で次のようなエラーが表示されます

テストの開始: MachineAccount
[SERVERNAME]:5 で失敗したパイプを開けませんでした:アクセスが拒否されました。
NetBIOSDomainName を取得できませんでした
HOST SPN のテストに失敗しました
HOST SPN のテストに失敗しました
* SPN :(null) が見つかりません
* SPN :(null) が見つかりません
.........................SERVERNAME 失敗したテスト MachineAccount
テストの開始: サービス
リモート ipc を [SERVERNAME]:5 で失敗しました: アクセスが拒否されました。
.........................SERVERNAME 失敗したテスト サービス
テストの開始: ObjectsReplicated
.........................SERVERNAME に合格したテスト ObjectsReplicated
開始テスト: frssysvol
[SERVERNAME]Net use または LsaPolicy 操作がエラー 5 で失敗しました。Access は拒否されました。。
.........................SERVERNAME が失敗したテスト frssysvol
開始テスト: frsevent
.........................SERVERNAME 失敗したテスト frsevent
開始テスト: kccevent
イベント ログ レコードを列挙できませんでした。エラー Access が拒否されました。
.........................SERVERNAME 失敗したテスト kccevent
テストの開始: systemlog
イベント ログ レコードを列挙できませんでした。エラー Access が拒否されました。
.........................SERVERNAME 失敗したテスト システム ログ

シナリオ 2 - ドメイン コントローラー診断ツールを実行すると、Windows 2000 Server と Windows Server 2003 の場合、次のようなエラーが表示されます

テスト サーバー: Default-First-Site-Name\SERVERNAME
テストの開始: レプリケーション
.........................SERVERNAME に合格したテスト レプリケーション
開始テスト: NCSecDesc
.........................SERVERNAME に合格したテスト NCSecDesc
テストの開始: NetLogons
[SERVERNAME]Net use または LsaPolicy 操作がエラー 1240 で失敗しました。アカウントはこのステーションからのログインを許可されていません。
.........................SERVERNAME が失敗したテスト NetLogons
テストの開始: 広告
.........................SERVERNAME に合格したテスト 広告
開始テスト: KnowsOfRoleHolders
.........................SERVERNAME に合格したテストの KnowsOfRoleHolders
テストの開始: RidManager
.........................SERVERNAME に合格したテスト RidManager
テストの開始: MachineAccount
[SERVERNAME]:failed with 1240 でパイプを開けませんでした:アカウントはこのステーションからのログインを許可されていません。
NetBIOSDomainName を取得できませんでした
HOST SPN のテストに失敗しました
HOST SPN のテストに失敗しました
* SPN :(null) が見つかりません
* SPN :(null) が見つかりません
.........................SERVERNAME 失敗したテスト MachineAccount
テストの開始: サービス
リモート ipc を [SERVERNAME]: 1240 で失敗しました: このステーションからのログインがアカウントに許可されていません。
.........................SERVERNAME 失敗したテスト サービス
テストの開始: ObjectsReplicated
.........................SERVERNAME に合格したテスト ObjectsReplicated
開始テスト: frssysvol
[SERVERNAME]Net use または LsaPolicy 操作がエラー 1240 で失敗しました。アカウントはこのステーションからのログインを許可されていません。
.........................SERVERNAME が失敗したテスト frssysvol
開始テスト: frsevent
.........................SERVERNAME 失敗したテスト frsevent
開始テスト: kccevent
イベント ログ レコードを列挙できませんでした。エラー アカウントはこのステーションからログインする権限がありません。 .........................SERVERNAME 失敗したテスト kccevent
テストの開始: systemlog
イベント ログ レコードを列挙できませんでした。エラー アカウントはこのステーションからログインする権限がありません。 .........................SERVERNAME 失敗したテスト システム ログ