WSMan.CreateSession メソッド

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

構文

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

パラメーター

connection [in, optional]

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

flags [in, optional]

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

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

connectionOptions [in, optional]

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

戻り値

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

解説

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

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

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

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

  • "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 など) を使用します。

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

iFlags = WSMan.SessionFlagUseBasic Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyUserName"
Options.Password = "MyPassword"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

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

iFlags = WSMan.SessionFlagUseNegotiate Or WSMan.SessionFlagCredUsernamePassword
Set Options = Wsman.CreateConnectionOptions
Options.Username = "MyComputer\MyUserName"
Options.Password = "MyPassword"
Set NewSession = WSMan.CreateSession("127.0.51.1", iFlags, _
    Options) 

必要条件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
Header
WSManDisp.h
IDL
WSManDisp.idl
ライブラリ
WSManDisp.tlb
[DLL]
WSMAuto.dll

関連項目

WSMan

ConnectionOptions

Session

リモート接続の認証

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