身份验证常量

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

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

WSManFlagCredUsernamePassword

4096 (0x1000)

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

关联的脚本方法是 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。 应在域\用户名窗体中为服务器计算机上的本地用户指定用户名或服务器名称\用户名。

用户帐户控制(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
Header
WSManDisp.h
IDL
WSManDisp.idl

另见

会话常量