Enable-WSManCredSSP

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

语法

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

说明

此 cmdlet 仅在 Windows 平台上可用。

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

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

谨慎

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 参数来指定 客户端 角色。 DelegateComputer$servers 变量中获取计算机名称。

示例 4:允许计算机充当委托

此示例允许计算机充当另一个计算机的委托。 前面示例中所示的 Enable-WSManCredSSP cmdlet 仅对客户端启用 CredSSP 身份验证,并指定可以代表其执行操作的远程计算机。 为了使远程计算机充当客户端的委托,WSMan 服务 节点中的 CredSSP 项必须设置为 true。 本示例将 WSMan Service 节点中的 CredSSP 项设置为 true。

Enable-WSManCredSSP -Role "Server"

示例 5:允许计算机使用 Set-Item 充当委托

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

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

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

参数

-DelegateComputer

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

接受通配符,但可以在比必要更多的计算机上启用 CredSSP。

如果 客户端Role 参数,则必须指定此参数。 如果 角色服务器,请不要指定此参数。

类型:String[]
Position:1
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Force

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

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Role

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

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

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

如果指定 服务器,将执行以下操作。 此策略设置允许服务器充当客户端的委托。

  • 在服务器上启用 CredSSP。
  • 将 WS-Management 设置 \<localhost|computername\>\Service\Auth\CredSSP 设置为 true。
类型:String
接受的值:Client, Server
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

输入

None

此 cmdlet 不接受任何输入。

输出

XmlElement

如果成功启用 CredSSP 身份验证,此 cmdlet 将生成 XMLElement 对象。

备注

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