リモート WMI 接続のトラブルシューティング

後続のセクションでは、開発者がリモート WMI 接続を作成する際に発生する可能性がある一般的な問題について説明します。

このトピックで扱うのは以下のセクションです。

DCOM アクセスが拒否されました

現象

接続が失敗し、10 進値 -2147024891 または 16 進値 0x80070005 と共に、"DCOM アクセスが拒否されました" というエラーが表示されました。

問題

WMI 接続を許可するように DCOM が構成されていない可能性があります。

解決方法

WMI に対する DCOM の設定は、コントロール パネル管理ツールにある、DCOM 構成ユーティリティ (DCOMCnfg.exe) を使用して構成できます。 このユーティリティでは、特定のユーザーが DCOM を介してコンピューターにリモート接続できるようにする設定が公開されます。 Administrators グループのメンバーは既定で、コンピューターにリモート接続できます。 このユーティリティにより、WMI サービスを開始、アクセス、構成するためのセキュリティを設定できます。

詳細については、「リモート WMI 接続のセキュリティ保護」を参照してください。

接続できません

現象

リモート システム上の WMI に接続できません。

問題

WMI をサポートしていないシステムに接続しようとしている可能性があります。 次に示すオペレーティング システム バージョンとの間の接続はサポートされていません。

  • Starter、Basic、Home のエディションを実行しているコンピューターには接続できません。

または、暗号化された接続を必要とする名前空間、つまり認証レベルとして pktPrivacyWbemAuthenticationLevelPktPrivacy、または RPC_C_AUTHN_LEVEL_PKT_PRIVACY を必要とする名前空間に接続しようとしている可能性があります。

解決方法

詳細については、「WMI 名前空間のセキュリティ保護」、「C++ クライアントとプロバイダーのセキュリティ保護」、VBScript を使用した既定のプロセス セキュリティ レベルの設定に関するページを参照してください。

WMI 接続がタイムアウトしました

現象

WMI 接続がタイムアウトしました。

問題

ネットワーク ラグの問題のために、コンピューターが時間内に応答することができません。

解決方法

SWbemLocator.ConnectServer または IWbemLocator::ConnectServer の呼び出しを介して WMI に接続する場合は、wbemConnectFlagUseMaxWait フラグを (スクリプトで) 設定するか、C++ の値で WBEM_FLAG_CONNECT_USE_MAX_WAIT を 128 (0x80) に設定し、呼び出しに 2 分のタイムアウトを設定することができます。

リモート コンピューター上の WMI への接続