Share via


WMI での認証の設定

呼び出しプロセスの外部またはリモート WMI サービスに対して呼び出しを行う場合、WMI は分散バージョンのコンポーネント オブジェクト モデル (DCOM) を使用します。 アウト プロセスおよびリモート呼び出しは、呼び出し元プロセスの資格情報の認証を必要とするプロキシを介して行われます。

コンピューターと WMI 名前空間に接続するときに、認証レベルを設定します。 WMI に接続するには、C++ で IWbemLocator::ConnectServer を呼び出します。 スクリプトまたは Visual Basic では、SWbemLocator.ConnectServer またはモニカー文字列を使用して WMI に接続します。 DCOM セキュリティと WMI の両方で、コンピューター間の接続時に特定の認証レベルが必要です。 必須のレベルは、接続しているオペレーティング システムによって異なります。 詳細については、「リモート コンピューター上の WMI への接続」を参照してください。

WMI は通常、共有サービス ホストで実行され、ホスト内の他のプロセスと同じ認証を共有します。 異なるレベルの認証で WMI プロセスを実行するには、winmgmt コマンドで /standalonehost スイッチを使用して WMI を実行し、WMI の認証レベルを一般的に設定します。 詳細については、「WMI セキュリティの維持」を参照してください。

WMI 接続の認証を設定する方法の詳細とコード例については、「VBScript を使用した認証サービスの設定」および「C++ を使用した認証の設定」を参照してください。 これらのトピックには、C++ とスクリプトの認証定数を一覧表示するテーブルも含まれています。

WMI でのプロキシの使用

プロキシの認証を設定するには、CoSetProxyBlanket 関数を呼び出します。 詳細とコード例については、「IWbemServices およびその他のプロキシでのセキュリティの設定」を参照してください。

次の WMI オブジェクト用 COM API は、C++ または C# でプロキシを直接使用して、アウト プロセスまたはリモート WMI サービスを呼び出します。

SWbemObjectSWbemServicesSWbemRefresher などのスクリプト オブジェクトは、プロキシを直接使用しません。 代わりに、スクリプト オブジェクトは、上記の WMI オブジェクト用 COM API を呼び出すラッパーまたはレイヤーを表します。 スクリプトでの認証の設定の詳細とコード例については、「VBScript を使用した既定のプロセス セキュリティ レベルの設定」を参照してください。