Share via


Enable-WSManCredSSP

Applies To: Windows PowerShell 2.0

Enables Credential Security Service Provider (CredSSP) authentication on a client or on a server computer.

Syntax

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

Description

The Enable-WSManCredSPP cmdlet enables CredSSP authentication on a client or on a server computer. When CredSSP authentication is used, the user's credentials are passed to a remote computer to be authenticated. This type of authentication is designed for commands that create a remote session from within another remote session. For example, you use this type of authentication if you want to run a background job on a remote computer.

This cmdlet is used to enable CredSSP on the client by specifying Client in the Role parameter. The cmdlet then performs the following:

- Enables CredSSP on the client. The WS-Management setting <localhost|computername>\Client\Auth\CredSSP is set to true.

- Sets the Windows CredSSP policy AllowFreshCredentials to WSMan/Delegate on the client.

- Note: These settings allow the client to delegate explicit credentials to a server when server authentication is achieved.

This cmdlet is used to enable CredSSP on the server by specifying Server in the Role parameter. The cmdlet then performs the following:

- Enables CredSSP on the server. The WS-Management setting <localhost|computername>\Service\Auth\CredSSP is set to true.

- Note: This policy setting allows the server to act as a delegate for clients.

Caution: CredSSP authentication delegates the user's credentials from the local computer to a remote computer. This practice increases the security risk of the remote operation. If the remote computer is compromised, when credentials are passed to it, the credentials can be used to control the network session.

To disable CredSSP authentication, use the Disable-WSManCredSSP cmdlet.

Note: Enable-WSManCredSSP runs only on Windows 7, Windows Server 2008 R2, and later versions of Windows.

Parameters

-DelegateComputer <string>

Allows the client credentials to be delegated to the server or servers that are specified by this parameter. The value of this parameter should be a fully qualified domain name.

If the Role parameter specifies Client, the DelegateComputer parameter is mandatory.

If the Role parameter specifies Server, the DelegateComputer parameter is not allowed.

Required?

false

Position?

2

Default Value

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

Enables CredSSP without first prompting the user.

Required?

false

Position?

named

Default Value

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Role <string>

Accepts one of two possible values: Client or Server. These values specify whether CredSSP should be enabled as a client or as a server.

If the Role parameter specifies Client, the cmdlet performs the following:

- Enables CredSSP on the client. The WS-Management setting <localhost|computername>\Client\Auth\CredSSP is set to true.

- Sets the Windows CredSSP policy AllowFreshCredentials to WSMan/Delegate on the client.

- Note: These settings allow the client to delegate explicit credentials to a server when server authentication is achieved.

If the Role parameter specifies the Server, the cmdlet performs the following:

- Enables CredSSP on the server. The WS-Management setting <localhost|computername>\Service\Auth\CredSSP is set to true.

- Note: This policy setting allows the server to act as a delegate for clients.

Required?

true

Position?

1

Default Value

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters.

Inputs and Outputs

The input type is the type of the objects that you can pipe to the cmdlet. The return type is the type of the objects that the cmdlet returns.

Inputs

None

This cmdlet does not accept any input.

Outputs

System.Xml.XmlElement

If CredSSP authentication is successfully enabled, this cmdlet generates an XMLElement object.

Example 1

C:\PS>enable-wsmancredssp -role client -delegatecomputer server02.accounting.fabrikam.com

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

Description
-----------
This command allows the client credentials to be delegated to the server02 computer.





Example 2

C:\PS>enable-wsmancredssp -role client -delegatecomputer *.accounting.fabrikam.com

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

Description
-----------
This command allows the client credentials to be delegated to all the computers in the accounting.fabrikam.com domain.





Example 3

C:\PS>enable-wsmancredssp -role client -delegatecomputer server02.accounting.fabrikam.com, server03.accounting.fabrikam.com, server04.accounting.fabrikam.com

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

Description
-----------
This command allows the client credentials to be delegated to multiple computers.





Example 4

C:\PS>enable-wsmancredssp -role server

Description
-----------
This command allows a computer to act as a delegate for another. The Enable-WSManCredSSP cmdlet (shown in the earlier examples) only enables CredSSP authentication on the client, and specifies the remote computers that can act on it's behalf. In order for the remote computer to act as a delegate for the client, the CredSSP item in the Service node of WSMan must be set to true. This example sets the CredSSP item in the Service node of WSMan to true.





Example 5

C:\PS>connect-wsman server02
set-item wsman:\server02\service\auth\credSSP -value $true

Description
-----------
This command allows a computer to act as a delegate for another computer. The Enable-WSManCredSSP commands that are shown in the earlier examples enable CredSSP authentication only on the client computer, and they specify the remote computers that can act on behalf of the client computer. For the remote computer to act as a delegate for the client computer, the CredSSP item in the Service directory of the WSMan provider must be set to true. 

In this example, the first command creates a connection to the remote server02 computer.

The second command sets the credSSP value on the remote server02 computer, which allows the remote computer to act as a delegate.





See Also

Concepts

Connect-WSMan
Disable-WSManCredSSP
Disconnect-WSMan
Get-WSManCredSSP
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
New-WSManSessionOption
Remove-WSManInstance
Set-WSManInstance
Set-WSManQuickConfig
Test-WSMan