VBScript を使用した認証サービスの設定

スクリプトを使用して Windows Management Instrumentation (WMI) サーバーにアクセスする場合は、NT LAN Manager (NTLM) または Kerberos のいずれかの認証プロトコルを選択できます。 委任を使用する場合を除き、Kerberos の指定は必要ありません。 詳細については、第 3 のコンピューター委任への接続に関する記事を参照してください。

オペレーティング システムのバージョンによって、使用する認証サービスが異なるため、リモート システムに接続するときは、authority フィールドの値を指定しないことをお勧めします。 代わりに、オペレーティング システムと分散バージョンのコンポーネント オブジェクト モデル (DCOM) で NTLM または Kerberos を選択できるようにします。 認証サービスが指定されている場合、構文にはサーバー プリンシパル名 (ドメイン コントローラーではなくターゲット コンピューターの名前) が必要です。

authority パラメーターは、リモート WMI サーバーへの接続でのみ使用できます。 モニカーの一部として、またはローカル接続のための SWbemLocator.ConnectServer を呼び出して認可レベルを設定しようとすると、接続試行は失敗します。

SWbemLocator.ConnectServer メソッドの strAuthority パラメーターまたはモニカー文字列接続で使用する認証サービスを指定するには、次の手順を実行します。

WMI 用のスクリプト API を使用して NTLM または Kerberos 認証を指定するには

  1. strAuthority パラメーターが文字列 "kerberos:" で始まる場合、WMI ではその文字列が Kerberos プリンシパル名を参照していると推定し、Kerberos 認証が使用されます。 strAuthority パラメーターが文字列 "ntlmdomain:" で始まる場合、WMI では代わりに NTLM 認証が使用しされます。

  2. または、モニカーの authority の部分を使用して、WMI への接続に使用される認証の種類を指定することもできます。 モニカーを使用するときに Kerberos 認証を使用するには、"authority=kerberos:" という文字列の後にプリンシパル名を含めます。 NTLM 認証を使用するには、"authority=ntlmdomain:" という文字列の後に NTLM ドメイン名を含めます。

    次の例は、プリンシパル "mydomain\server" を使用して Kerberos 認証を要求するモニカーを示しています。

    winmgmts:{impersonationLevel=delegate, _
            authority=kerberos:mydomain\server} _
            !//myserver/root/default:__cimomidentification=@
    

    これに対し、次の例では、ドメイン "mydomain" を使用して NTLM 認証を要求するモニカーを示します。

    winmgmts:{impersonationLevel=impersonate, _
            authority=ntlmdomain:mydomain} _
            !//myserver/root/default:__cimomidentification=@