身份验证常量

身份验证常量是 __WSManSessionFlags 枚举中的常量,用于指定身份验证方法以及如何处理用于 HTTPS 请求传输的证书服务器。

在调用 WSMan.CreateSession 或连接到远程计算机的 IWSMan::CreateSession 调用中,需要以下列表中的一个或多个常量。

WSManFlagCredUsernamePassword

4096 (0x1000)

使用用户名和密码作为凭据。 创建 ConnectionOptions 对象并提供用户名和密码时设置此标志。 凭据可以是本地计算机上的域帐户或帐户。 默认情况下,帐户必须是本地或远程计算机上的本地管理员组的成员。 但是,可以将 WinRM 服务配置为允许其他用户。 有关详细信息,请参阅Windows远程管理的安装和配置。 指定协商身份验证的凭据时,可以设置此标志, (也称为Windows集成身份验证) 或基本身份验证

关联的脚本方法是 WSMan.SessionFlagCredUsernamePassword,C++ 方法为 IWSManEx.SessionFlagCredUsernamePassword

WSManFlagSkipCACheck

8192 (0x2000)

通过 HTTPS 进行连接时,客户端不会验证服务器证书是否由受信任的证书颁发机构 (CA) 签名。 仅当远程计算机受其他方式信任时,才使用此值,例如,如果远程计算机是物理安全且隔离的网络的一部分,或者远程计算机在 WinRM 配置中列为受信任的主机。

关联的脚本方法是 WSMan.SessionFlagSkipCACheck,C++ 方法为 IWSManEx.SessionFlagSkipCACheck

WSManFlagSkipCNCheck

16384 (0x4000)

通过 HTTPS 进行连接时,客户端不会验证服务器证书中的公用名 (CN) 是否与连接字符串中的计算机名称匹配。 仅当远程计算机受其他方式信任时使用,例如,如果远程计算机是物理安全且隔离的网络的一部分,或者远程计算机在 WinRM 配置中列为受信任的主机。

关联的脚本方法是 WSMan.SessionFlagSkipCNCheck,C++ 方法为 IWSManEx.SessionFlagSkipCNCheck

WSManFlagUseNoAuthentication

32768 (0x8000)

不使用身份验证。 在测试与远程计算机的连接以确定实现WS-Management协议的服务是否已配置为侦听数据请求时指定此常量。 WSManFlagUseNoAuthentication 不能与任何其他 会话 常量结合使用。 关联的脚本方法是 WSMan.SessionFlagUseNoAuthentication,C++ 方法为 WSManEx.SessionFlagUseNoAuthentication

WSManFlagUseDigest

65536 (0x10000)

使用摘要式身份验证。 仅客户端计算机可以发起摘要式身份验证请求。 客户端向服务器发送请求以进行身份验证,并从服务器接收令牌字符串。 然后,客户端发送资源请求,包括用户名和密码的加密哈希以及令牌字符串。 HTTP 和 HTTPS 支持摘要式身份验证。 WinRM 客户端脚本和应用程序可以指定摘要式身份验证,但不能指定服务。

关联的脚本方法是 WSMan.SessionFlagUseDigest,C++ 方法为 IWSManEx.SessionFlagUseDigest

WSManFlagUseNegotiate

131072 (0x20000)

使用协商身份验证。 客户端向服务器发送请求以进行身份验证。 服务器确定是使用 Kerberos 还是 NTLM。 选择 Kerberos 对域帐户进行身份验证,并为本地计算机帐户选择 NTLM。 应在域用户或服务器计算机上的本地用户的 servername\username 中指定用户名。

用户帐户控制 (UAC) 会影响对 WinRM 服务的访问。 在工作组或域中使用协商身份验证时,只有内置管理员帐户可以访问该服务。 若要允许管理员组中的所有帐户访问服务,请将以下注册表项设置为 1: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy

关联的脚本方法是 WSMan.SessionFlagUseNegotiate,C++ 方法为 IWSManEx.SessionFlagUseNegotiate

WSManFlagUseBasic

262144 (0x40000)

使用基本身份验证。 客户端以用户名和密码的形式提供凭据,直接在请求消息中传输。 只能指定标识远程计算机上的本地管理员帐户的凭据。

关联的脚本方法是 WSMan.SessionFlagUseBasic,C++ 方法为 IWSManEx.SessionFlagUseBasic

WSManFlagUseKerberos

524288 (0x80000)

使用 Kerberos 身份验证。 客户端和服务器使用 Kerberos 票证相互进行身份验证。

关联的脚本方法是 WSMan.SessionFlagUseKerberos,C++ 方法为 IWSManEx.WSMan.SessionFlagUseKerberos

WSManFlagNoEncryption

1048576 (0x100000)

不使用加密。 默认情况下不允许未加密的流量,必须在客户端和服务器上启用。

关联的脚本方法是 WSMan.SessionFlagNoEncryption,C++ 方法为 IWSManEx.SessionFlagNoEncryption

WSManFlagUseClientCertificate

2097152 (0x200000)

使用基于客户端证书的身份验证。

关联的脚本方法是 WSMan.SessionFlagUseClientCertificate,C++ 方法为 IWSManEx2.SessionFlagUseClientCertificate

WSManFlagUseCredSsp

16777216 (0x1000000)

使用凭据安全支持提供程序 (CredSSP) 身份验证。

关联的脚本方法是 WSMan.SessionFlagUseCredSsp,C++ 方法为 IWSManEx3.SessionFlagUseCredSsp

WSManFlagSkipRevocationCheck

0x2000000

不要在身份验证期间检查证书吊销。

WSManFlagAllowNegotiateImplicitCredentials

0x4000000

允许隐式凭据。

WSManFlagUseSsl

0x8000000

使用安全套接字层,启用 HTTPS。

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
标头
WSManDisp.h
IDL
WSManDisp.idl

另请参阅

会话常量