リモート管理での障害の診断

作成者 : Nitasha Verma
発行日 : 2008 年 2 月 14 日 (作業者 : iisteam(英語))
更新日 : 2008 年 2 月 29 日 (作業者 : iisteam(英語))

はじめに 

この記事は、RemoteMgr の使用時に見つかった問題を診断および解決するうえで役立ちます。これは、iis.net フォーラムのよく寄せられる質問および回答に基づいています。

リモート サーバーに接続できない

クライアントとサーバーが同じビルドを使用していることを確認してください。たとえば、Server Beta 3 RemoteMgr は RC1 サーバー ビルドと共に使用できません。

「リモート管理の動作マトリックス」についてのブログ投稿 (英語) を参照してください。アクセス制御リスト (ACL) に関連する問題の可能性があります。

イベント ビューアー (eventvwr.msc) のログを確認してください。WMSVC には、サポートを向上するシナリオがあります。イベントは、詳細なエラー メッセージとスタック トレースと共に記録されています。イベント ビューアーを調べることにより、どのような問題であるかを理解できます。

WMSVC バインドの更新後にリモート サーバーに接続できない

WMSVC を構成して実行するポートを更新した後にこの問題が発生した場合は、ファイアウォールがサーバーに対して有効にされているかどうかを確認してください。有効な場合、WMSVC を実行しているポート (既定値 : 8172) に対する例外ルールを追加します。その後で再度サーバーへの接続を試みます。

これで問題が解決しない場合は、コマンド ラインから次のコマンドを実行してください。

netsh http show sslcert

netsh http show sslcert

ポート 8172 (WMSVC を実行しているポート) に SSL 証明書バインドがあることを確認します。また、証明書ハッシュが、WMSVC が (管理サービス UI 内で) バインドされているハッシュと一致していることを確認します。

サンプル出力 :

c:\>netsh http show sslcert 
SSL Certificate bindings:
-------------------------
IP:port                 :0.0.0.0:8172
Certificate Hash        :f06ae62a5275a818338f05ecc80707335be1e204
Application ID          :{00000000-0000-0000-0000-000000000000}
Certificate Store Name:MY
Verify Client Certificate Revocation    :Enabled
Verify Revocation Using Cached Client Certificate Only:Disabled
Usage Check    :Enabled
Revocation Freshness Time:0
URL Retrieval Timeout   :0
Ctl Identifier          :(null)
Ctl Store Name          :(null)
DS Mapper Usage    :Disabled
Negotiate Client Certificate    :Disabled

netsh http show urlacl

netsh http show urlacl

URL https://*:8172/ (WMSVC を構成して実行するポート) が予約済み URL の一覧に表示されていることを確認します。

サンプル出力 :

c:\>netsh http show urlacl

URL Reservations:
-----------------
Reserved URL            : https://*:8172/
User: NT SERVICE\WMSvc
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;S-1-5-80-257763619-1023834443-750927789-3464696139-1457670516)

前の段落の netsh コマンドを使用して、バインドが正しく構成されていないかどうかを判断します。この問題では、このコンピューター キーには WMSVC バインドを調整しようとする管理者に対するアクセス許可がない可能性があります。この場合、次の操作を試してください。

1.   コンピューター キーの所有権を取得します。

takeown /F %ProgramData%\Microsoft\Crypto\RSA\MachineKeys\bedbf0b4da5f8061b6444baedf4c00b1* /R

2.   管理者グループが読み取りアクセス許可を持つように、コンピューター キーの ACL を構成します。

icacls %ProgramData%\Microsoft\Crypto\RSA\MachineKeys\bedbf0b4da5f8061b6444baedf4c00b1* /grant Administrators:(R)

3.   ポート 8172 を WMSVC 用に予約します。

netsh http add urlacl url=https://*:8172/ User="NT SERVICE\wmsvc"

4.   証明書をポートに関連付けます。

netsh http add sslcert ipport=0.0.0.0:8172 certhash=<certHash> appid={d7d72267-fcf9-4424-9eec-7e1d8dcec9a9}

リモート サーバーに接続するたびにクライアントにプロンプトを表示しないようするには

サーバーで、信頼されたルート証明書を WMSVC に対して使用していることを確認します。信頼されたルート証明書を作成し (既に所有していない場合)、管理サービス機能ページで、この証明書をサービスが使用するように割り当てます。これにより、サーバーを信頼するかどうかを (証明書が信頼されていないため) 確認するプロンプトをクライアントで表示しないようにできます。

その他すべてが失敗した場合

再現手順と詳細と共に問題を iis.net フォーラム (英語) に投稿してください。eventvwr.msc ログを例外およびコール スタックと共に含めてください。 

例外およびコール スタックを取得する方法の詳細は次のとおりです。

  1. wmsvc.exe に windbg を添付します。
    windbg –pn wmsvc.exe

  2. マネージ例外が発生した場合、sos.dll を読み込んでブレーク ポイントを設定します。
    .loadby sos mscorwks
    sxe clr

  3. [検索] を押します。
    g

  4. 取得したら、例外およびコール スタックを印刷して、iis.net/forums に送信します。
    !pe
    !clrstack