WSMan.CreateSession メソッド

後続のネットワーク操作に使用できる Session オブジェクトを作成します。

構文

WSMan.CreateSession( _
  [ ByVal connection ], _
  [ ByVal flags ], _
  [ ByVal connectionOptions ] _
)

パラメーター

connection [in, optional]

IPv4 または IPv6 を含む、接続先のプロトコルとサービス。 接続情報の形式は、 <Transport><Address><Suffix> です。 例については、「解説」を参照してください。 接続情報が指定されていない場合は、ローカル コンピューターが使用されます。

flags [in, optional]

リモート コンピューターに接続するための認証方法 ( ネゴシエート認証 や ダイジェスト認証など) を指定するセッション フラグ。 これらのフラグは、エンコードや暗号化など、他のセッション接続情報も指定します。 このパラメーターには、リモート接続の __WSManSessionFlags に 1 つ以上のフラグが含まれている必要があります。 詳細については、「 セッション定数」を参照してください。 ローカル コンピューター上の WinRM への接続にフラグ設定は必要ありません。 既定値は WSManFlagUseNegotiate です。

詳細については、「 リモート接続の認証 」および 「connectionOptions 」パラメーターを参照してください。

connectionOptions [in, optional]

ユーザー名とパスワードを含む ConnectionOptions オブジェクトへのポインター。 既定値は NULL です。

戻り値

その後、ローカルまたはリモートの WinRM 操作を実行するために使用できる Session オブジェクト。

注釈

CreateSession メソッドは、フラグ、資格情報、接続パラメーターの接続文字列などのパラメーターを収集して Session オブジェクトを初期化します。 CreateSession は、実際にはローカル コンピューターまたはリモート コンピューターに接続しません。 接続を確立できない場合は、CreateSession の呼び出し後に、Get や Enumerate などの最初のセッション操作でエラーが発生します。 この動作は、リモート コンピューター上の名前空間への WMI 接続とは異なります。 詳細については、「 Windows リモート管理と WMI」を参照してください。

このメソッドを呼び出すには、次の VBScript コード例を使用します。

Set session = _
    wsman.CreateSession("<Transport><Address><Suffix>")

次の例は、 接続 パラメーターで接続情報を指定するために使用されるさまざまな形式を示しています (HTTPS セッションを作成する場合、 <Address> フィールドはサーバー コンピューターの証明書名と一致する必要があります。それ以外の場合はエラーが発生します)。

  • "https://service"

    HTTPS を使用して、既定の Web サービスの場所に接続します。

  • "https://service.corp.com/websvcs/wsman"

    HTTPS を使用して特定の Web サービスの場所に接続します。

  • "https://[E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420]"

    既定のポートで HTTPS と IPv6 を使用します。

  • "https://[E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420]:9999/wsman"

    指定されたポートで HTTPS と IPv6 を使用します。

例示

次の VBScript コード例では、ローカル コンピューター上にセッションを作成します。

 Set NewSession = Wsman.CreateSession   
   

次の VBScript コード例では、IP アドレスで識別されるセッションをリモート コンピューター上に作成します。 このスクリプトは、アカウントのユーザー名とパスワードを提供します。 WSManFlagCredUserNamePassword フラグと WSManFlagUseBasic フラグを組み合わせて、アカウントがリモート コンピューター上のローカル アカウントであることを示します。 セッションの作成が失敗した場合、スクリプトは終了します。 このスクリプトでは、 WSMan.SessionFlagUseBasic などの定数を返すメソッドを使用します。

このスクリプトを実行するには、暗号化されていないトラフィックと基本認証を許可するようにクライアントとサーバーの両方の既定の構成設定を構成する必要があることに注意してください (AllowUnencrypted を True に設定し、Basic を True に設定します)。 詳細については、「Windows リモート管理のためのインストールと構成」をご覧ください。

iFlags = WSMan.SessionFlagUseBasic Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "<username>"
Options.Password = "<password>"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

次の VBScript コード例では、アカウントはドメイン アカウントであり、ネゴシエート認証が使用されています。 ネゴシエート認証では、ユーザー名を computername\username または ipaddress\usernameとして指定する必要があります。

iFlags = WSMan.SessionFlagUseNegotiate Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyComputer\<username>"
Options.Password = "<password>"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

要求事項

要件 価値
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
ヘッダ
WSManDisp.h
IDL
WSManDisp.idl
図書館
WSManDisp.tlb
[DLL]
WSMAuto.dll

こちらも参照ください

WSMan

ConnectionOptions

セッション

リモート接続の認証

Windows リモート管理のインストールと構成