リモート WMI 接続の設定

リモート コンピューター上の WMI 名前空間に接続するには、Windows ファイアウォールユーザー アカウント制御 (UAC)、DCOM、または CIM オブジェクト マネージャー (CIMOM) の設定の変更が必要になる場合があります。

以下のセクションでは、次に示すトピックについて説明します。

Windows ファイアウォールの設定

Windows ファイアウォール設定の WMI 設定では、他の DCOM アプリケーションではなく、WMI 接続のみが有効になります。

リモート ターゲット コンピューター上の WMI のファイアウォールで例外を設定する必要があります。 WMI の例外により、WMI は Unsecapp.exe へのリモート接続と非同期コールバックを受信できるようになります。 詳細については、「非同期呼び出しでのセキュリティの設定」を参照してください。

クライアント アプリケーションが独自のシンクを作成する場合、コールバックを成功させるには、そのシンクをファイアウォールの例外に明示的に追加する必要があります。

WMI の例外は、winmgmt /standalonehost コマンドを使用して、WMI が固定ポートで開始されている場合にも機能します。 詳細については、「WMI の固定ポートの設定」を参照してください。

Windows ファイアウォール UI を介して WMI トラフィックを有効または無効にすることができます。

ファイアウォール UI を使用して WMI トラフィックを有効または無効にするには

  1. コントロール パネルで、[セキュリティ] をクリックし、[Windows ファイアウォール] をクリックしてください。
  2. [設定の変更] をクリックし、[例外] タブをクリックしてください。
  3. [例外] ウィンドウで、[Windows Management Instrumentation (WMI)] のチェック ボックスをオンにして、ファイアウォール経由の WMI トラフィックを有効にします。 WMI トラフィックを無効にするには、チェックボックスを解除してください。

コマンド プロンプトで、ファイアウォール経由の WMI トラフィックを有効または無効にすることもできます。

WMI ルール グループを使用してコマンド プロンプトで WMI トラフィックを有効または無効にするには

  • コマンド プロンプトで次のコマンドを使用してください。 ファイアウォール経由の WMI トラフィックを有効にするには、次のように入力してください。

    netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes

    ファイアウォール経由の WMI トラフィックを無効にするには、次のコマンドを入力してください。

    netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=no

単一の WMI ルール グループ コマンドを使用するのではなく、DCOM、WMI サービス、シンクごとに個々のコマンドを使用することもできます。

DCOM、WMI、コールバック シンク、発信接続に対して個別の規則を使用して WMI トラフィックを有効にするには

  1. DCOM ポート 135 のファイアウォール例外を確立するには、次のコマンドを使用してください。

    netsh advfirewall firewall add rule dir=in name="DCOM" program=%systemroot%\system32\svchost.exe service=rpcss action=allow protocol=TCP localport=135

  2. WMI サービスのファイアウォール例外を確立するには、次のコマンドを使用してください。

    netsh advfirewall firewall add rule dir=in name ="WMI" program=%systemroot%\system32\svchost.exe service=winmgmt action = allow protocol=TCP localport=any

  3. リモート コンピューターからコールバックを受信するシンクのファイアウォール例外を確立するには、次のコマンドを使用してください。

    netsh advfirewall firewall add rule dir=in name ="UnsecApp" program=%systemroot%\system32\wbem\unsecapp.exe action=allow

  4. ローカル コンピューターが非同期的に通信しているリモート コンピューターへの発信接続に対してファイアウォール例外を確立するには、次のコマンドを使用してください。

    netsh advfirewall firewall add rule dir=out name ="WMI_OUT" program=%systemroot%\system32\svchost.exe service=winmgmt action=allow protocol=TCP localport=any

ファイアウォールの例外を個別に無効にするには、次のコマンドを使用してください。

DCOM、WMI、コールバック シンク、発信接続に対して個別の規則を使用して WMI トラフィックを無効にするには

  1. DCOM 例外を無効にする場合。

    netsh advfirewall firewall delete rule name="DCOM"

  2. WMI サービスの例外を無効にする場合。

    netsh advfirewall firewall delete rule name="WMI"

  3. シンク例外を無効にする場合。

    netsh advfirewall firewall delete rule name="UnsecApp"

  4. 発信接続の例外を無効にする場合。

    netsh advfirewall firewall delete rule name="WMI_OUT"

ユーザー アカウント制御の設定

ユーザー アカウント制御 (UAC) アクセス トークンのフィルター処理は、WMI 名前空間で許可される操作や返されるデータに影響を与える場合があります。 UAC では、ローカル Administrators グループ内のすべてのアカウントは、標準ユーザー "アクセス トークン" (別名、UAC アクセス トークン) のフィルター処理を使って実行されます。 管理者アカウントは、昇格された特権 ("管理者として実行") でスクリプトを実行できます。

Administrator アカウントに接続していない場合、リモート コンピューターへの接続に対する UAC の影響は、2 台のコンピューターがあるのがドメインかワークグループかによって異なります。 UAC とリモート接続の詳細については、「ユーザー アカウント制御と WMI」を参照してください。

DCOM の設定

DCOM 設定の詳細については、「リモート WMI 接続のセキュリティ保護」を参照してください。 ただし、UAC はドメイン以外のユーザー アカウントの接続に影響します。 リモート コンピューターのローカル Administrators グループに含まれるドメイン以外のユーザー アカウントを使用してリモート コンピューターに接続する場合は、リモート DCOM アクセス、ライセンス認証、起動権限をアカウントに明示的に付与する必要があります。

CIMOM の設定

リモート接続が信頼関係のないコンピューター間にある場合は、CIMOM 設定を更新する必要があります。それ以外の場合、非同期接続は失敗します。 この設定は、同じドメインまたは信頼されたドメイン内のコンピューターでは変更しないでください。

匿名コールバックを許可するには、次のレジストリ エントリを変更する必要があります。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM\AllowAnonymousCallback

               データ型

               REG\_DWORD

AllowAnonymousCallback 値が 0 に設定されている場合、WMI サービスによりクライアントへの匿名コールバックが防止されます。 値が 1 に設定されている場合、WMI サービスによりクライアントへの匿名コールバックが許可されます。

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