次の方法で共有


doメイン コントローラーの起動時にISMServ.exeが起動しません

この記事では、ドメイン コントローラーの起動時に IsmServ サービスが正しく起動しない問題の回避策について説明します。

元の KB 番号: 4530043

現象

Windows Server ドメイン コントローラー (DC) を起動すると、正しく起動しません。 イベント ビューアーでシステム ログインを確認すると、イベント ID 7023 の次のエントリが表示されます。

ログ名: システム
ソース: Service Control Manager
イベント ID: 7023
レベル: エラー
形容:
IsmServ サービスは、次のエラーで終了しました。
指定されたサーバーは、要求された操作を実行できません。
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
...​
<EventData>
<Data Name="param1">IsmServ</Data>
<Data Name="param2">%%58</Data>
</EventData>
</Event>

このイベントには、次のデータ パラメーターが含まれます。

  • param1 パラメーター値IsmServ: サイト間メッセージング サービス (ISMserv.exe) を表します。
  • param2 パラメーター値 58: これは、ERROR_BAD_NET_RESP メッセージにマップされます ("指定したサーバーは要求された操作を実行できません")。

この問題に関する詳細情報を収集するには、システムの起動時に実行するように LDAP Event Tracing for Windows (ETW) を構成します。 (これを行う方法の詳細については、 を参照してください。詳細についてはを参照してください。)DC を再起動すると、ログに次の行が表示されます。

[Microsoft-Windows-LDAP-Client/Debug]Message=LDAP 接続0xec4b08a8 GetHostByName を使用して 'localhost' を正常に解決しました。
...
[Microsoft-Windows-LDAP-Client/Debug]Message=gethostbyname は、'dc1.contoso.com'[Microsoft-Windows-LDAP-Client/Debug] Message=LdapParallelConnect の 2 つのレコードを収集し、タイムアウト 45 秒 0 usec の接続0xec4b08a8のために呼び出されました。合計カウントは 2 です。
[Microsoft-Windows-LDAP-Client/Debug]Message=No response yet...
[Microsoft-Windows-LDAP-Client/Debug]接続0xec4b08a8の Message=LdapParallelConnect が終了しました。 所要時間は1秒でした。指定された元のタイムアウトは 45 秒 0 usec でした。
...
[Microsoft-Windows-LDAP-Client/Debug]Message=LdapConnect が接続0xec4b08a8を開けませんでした。エラー = 0x5b。
[Microsoft-Windows-LDAP-Client/Debug]Message=LdapConnect スレッド 0xce0の接続0xec4b08a8がダウンしています。

この場合、 error パラメーター (0x5b または 91) の値がLDAP_CONNECT_ERROR メッセージにマップされます。

原因

ISMServ は、Active Directory ドメイン サービス (AD DS) に依存します。 ただし、システムの起動時に、ISMServ は AD DS がオンラインになる前に AD DS への LDAP 接続を作成しようとする場合があります。 この場合、ISMServ が接続しようとすると、LDAP ポート (TCP ポート 389) は使用できません。 ポートがリッスンしていないため、ISMServ は接続タイムアウト期間 (45 秒) を待たずに接続に失敗したと判断します。 したがって、ISMServ は開始されません。

回避策

この問題をすぐに回避するには、ISMServ を手動で再起動します。

今後この問題を回避するには、サービスとアプリケーション MMC スナップインを使用して、ISMServ の Startup TypeAutomatic から Automatic (Delayed Start)に変更します。

詳細

LDAP ETW を構成するには、次の手順に従います。

  1. レジストリ エディターを使用して、次のレジストリ サブキーを作成します。

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ldap\Tracing\ISMSERV.EXE

  2. 管理者特権のコマンド プロンプト ウィンドウを開き、次のコマンドを実行します。

    logman create trace "autosession\g_os" -ow -o c:\boot-ldap.etl -p "Microsoft-Windows-LDAP-Client" 0xffffffffffffffff 0xff -nb 16 16 -bs 1024 -mode Circular -f bincirc -max 4096 -ets
    reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WMI\Autologger\g_os /v FileMax /t REG_DWORD /d 2 /F
    
  3. コンピューターを再起動します。

  4. コンピューターが起動したら、管理者特権のコマンド プロンプトで次のコマンドを実行します。

    logman stop "g_os" -ets
    
  5. データの収集が完了したら、管理者特権のコマンド プロンプトで次のコマンドを実行してトレースを停止します。

    logman delete "autosession\g_os" -ets
    

状態

Microsoft は、この記事の冒頭に記載されている Microsoft 製品の問題であることを確認しました。

関連情報

LDAP クライアントのデバッグ ログを有効にする方法 (Wldap32.dll)