Enable-WSManCredSSP

在计算机上启用凭据安全支持提供程序 (CredSSP) 身份验证。

语法

Enable-WSManCredSSP
      [[-DelegateComputer] <String[]>]
      [-Force]
      [-Role] <String>
      [<CommonParameters>]

说明

此 cmdlet 仅在 Windows 平台上可用。

Enable-WSManCredSSP cmdlet 可在客户端或服务器计算机上启用 CredSSP 身份验证。 当使用 CredSSP 身份验证时,用户凭据将传递给要进行身份验证的远程计算机。 此类型的身份验证旨在用于从一个远程会话创建另一个远程会话的命令。 例如,若要在远程计算机上运行后台作业,可以使用此类型的身份验证。

Enable-WSManCredSSP 可以在客户端或服务器上启用 CredSSP。 若要在客户端上启用 CredSSP,请在 Role 参数中指定 Client。 客户端在实现服务器身份验证时将显式凭据委派给服务器。 若要在服务器上启用 CredSSP,请在 Role 参数中指定 Server。 服务器充当客户端的代表。 有关更多详细信息,请参阅“参数”部分中的“角色”。

注意

CredSSP 身份验证将用户凭据从本地计算机委派给远程计算机。 此做法增加了远程操作的安全风险。 如果远程计算机的安全受到威胁,则在向该计算机传递凭据时,可使用这些凭据来控制网络会话。

示例

示例 1:委派客户端凭据

此示例允许使用完全限定的域名将客户端凭据委派给某台计算机。

Enable-WSManCredSSP -Role "Client" -DelegateComputer "Server02.fabrikam.com"

cfg         : http://schemas.microsoft.com/wbem/wsman/1/config/client/auth
lang        : en-US
Basic       : true
Digest      : true
Kerberos    : true
Negotiate   : true
Certificate : true
CredSSP     : true

示例 2:将客户端凭据委派给域中的所有计算机

此示例允许将客户端凭据委派给 fabrikam.com 域中的所有计算机。 星号 (*) 通配符指定所有计算机。

注意

将通配符与 DelegateComputer 参数配合使用可能会在比需求数目更多的计算机上启用 CredSSP。

Enable-WSManCredSSP -Role "Client" -DelegateComputer "*.fabrikam.com"

cfg         : http://schemas.microsoft.com/wbem/wsman/1/config/client/auth
lang        : en-US
Basic       : true
Digest      : true
Kerberos    : true
Negotiate   : true
Certificate : true
CredSSP     : true

示例 3:将客户端凭据委派给多台计算机

此示例允许将客户端凭据委派给多台计算机。

$servers = "server02.fabrikam.com", "server03.fabrikam.com", "server04.fabrikam.com"
Enable-WSManCredSSP -Role "Client" -DelegateComputer $servers

cfg         : http://schemas.microsoft.com/wbem/wsman/1/config/client/auth
lang        : en-US
Basic       : true
Digest      : true
Kerberos    : true
Negotiate   : true
Certificate : true
CredSSP     : true

$servers 变量包含服务器名称的列表。 Enable-WSManCredSSP 使用 Role 参数来指定 Client 角色。 DelegateComputer 从 $servers 变量获取计算机名称。

示例 4:允许计算机充当代理

此示例允许一台计算机充当另一台计算机的代表。 前面的示例所示的 Enable-WSManCredSSP cmdlet 仅在客户端上启用 CredSSP 身份验证,并指定可代表该客户端执行操作的远程计算机。 若要使远程计算机充当客户端的代表,WSMan 的 Service 节点中的 CredSSP 项必须设置为 true。 此示例将 WSMan 的 Service 节点中的 CredSSP 项设置为 true。

Enable-WSManCredSSP -Role "Server"

示例 5:允许计算机通过使用 Set-Item 充当代理

此示例允许一台计算机充当另一台计算机的代理。 前面的示例所示的 Enable-WSManCredSSP 命令仅在客户端计算机上启用 CredSSP 身份验证,并指定可代表该客户端计算机执行操作的远程计算机。 若要使远程计算机充当客户端计算机的代理,WSMan 提供程序的 Service 目录中的 CredSSP 项必须设置为 true。

Connect-WSMan -ComputerName "server02"
Set-Item -Path "WSMan:\server02\service\auth\credSSP" -Value $True

Connect-WSMan 创建与远程计算机 server02 的连接。 Set-Item 使用 Path 参数来指定 WSMan 提供程序的位置。 Value 参数将 Service 设置设为 true。

参数

-DelegateComputer

指定要向其委派客户端凭据的服务器。 最佳做法是使用完全限定的域名。

接受通配符,但它可能会在比需求数目更多的计算机上启用 CredSSP。

如果 Role 参数是 Client,则必须指定此参数。 如果 Role 是 Server,请不要指定此参数。

Type:String[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

强制运行命令而不要求用户确认。

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Role

指定将 CredSSP 启用为客户端还是服务器。 此参数的可接受的值是:Client 和 Server。

如果指定 Client,将会执行以下操作。 这些设置允许客户端在实现服务器身份验证时将显式凭据委派给服务器。

  • 启用客户端上的 CredSSP。
  • 将 WS 管理设置 \<localhost|computername\>\Client\Auth\CredSSP 设置为 true。
  • 在客户端上将 Windows CredSSP 策略 AllowFreshCredentials 设置为 WSMan/Delegate。

如果指定 Server,则会执行以下操作。 此策略设置允许服务器充当客户端的代理。

  • 启用服务器上的 CredSSP。
  • 将 WS 管理设置 \<localhost|computername\>\Service\Auth\CredSSP 设置为 true。
Type:String
Accepted values:Client, Server
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

输入

None

无法通过管道将对象传递给此 cmdlet。

输出

XmlElement

如果成功启用了 CredSSP 身份验证,则此 cmdlet 将返回一个 XMLElement 对象。

备注

若要禁用 CredSSP 身份验证,请使用 Disable-WSManCredSSP cmdlet。