WSMan.CreateSession 方法

创建一个 会话 对象,该对象随后可用于后续网络操作。

语法

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

parameters

connection [in, optional]

要连接到的协议和服务,包括 IPv4 或 IPv6。 连接信息的格式如下: <传输><地址><后缀>。 有关示例,请参阅备注。 如果未提供任何连接信息,则使用本地计算机。

flags [in, optional]

会话标志,指定用于连接到远程计算机的身份验证方法,例如 协商身份验证摘要式身份验证。 这些标志还指定其他会话连接信息,例如编码或加密。 对于远程连接,此参数必须包含 __WSManSessionFlags 中的一个或多个标志。 有关详细信息,请参阅 会话常量。 无需标志设置即可连接到本地计算机上的 WinRM。 默认值为 WSManFlagUseNegotiate

有关详细信息,请参阅 远程连接的身份验证connectionOptions 参数。

connectionOptions [in, optional]

指向包含用户名和密码的 ConnectionOptions 对象的指针。 默认值为 NULL。

返回值

一个 会话 对象,然后可用于执行本地或远程 WinRM 操作。

备注

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 地址标识。 该脚本提供帐户的用户名和密码。 WSManFlagCredUserNamePasswordWSManFlagUseBasic 标志组合在一起,指示该帐户是远程计算机上的本地帐户。 如果会话创建失败,脚本将终止。 该脚本使用返回常量的方法,例如 WSMan.SessionFlagUseBasic

若要运行此脚本,请注意,必须将客户端和服务器的默认配置设置配置为允许未加密的流量,将基本身份验证 (AllowUnencrypted 设置为 True ,将基本设置为 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 代码示例中,该帐户是域帐户,并使用协商身份验证。 使用协商身份验证时,必须将用户名指定为 computername\usernameipaddress\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
标头
WSManDisp.h
IDL
WSManDisp.idl

WSManDisp.tlb
DLL
WSMAuto.dll

请参阅

WSMan

ConnectionOptions

会话

远程连接的身份验证

Windows 远程管理的安装和配置