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 后,第一个会话操作(如 Get 或 Enumerate)将失败。 此行为不同于与远程计算机上命名空间的 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。
若要运行此脚本,请注意,必须将客户端和服务器的默认配置设置配置为允许未加密的流量,将基本身份验证 (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\username
或 ipaddress\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 |
标头 |
|
IDL |
|
库 |
|
DLL |
|