Enable-PSSessionConfiguration
Published: February 29, 2012
Updated: August 15, 2012
Applies To: Windows PowerShell 2.0, Windows PowerShell 3.0
Enable-PSSessionConfiguration
Syntax
Parameter Set: Default Enable-PSSessionConfiguration [[-Name] <String[]> ] [-Force] [-SecurityDescriptorSddl <String> ] [-SkipNetworkProfileCheck] [-Confirm] [-WhatIf] [ <CommonParameters>]
Detailed Description
The Enable-PSSessionConfiguration cmdlet enables registered session configurations that have been disabled, such as by using the Disable-PSSessionConfiguration or Disable-PSRemoting cmdlets, or the AccessMode parameter of Register-PSSessionConfiguration. This is an advanced cmdlet that is designed to be used by system administrators to manage customized session configurations for their users.
Without parameters, Enable-PSSessionConfiguration enables the Microsoft.PowerShell configuration, which is the default configuration that is used for sessions.
Enable-PSSessionConfiguration removes the "Deny_All" setting from the security descriptor of the affected session configurations, turns on the listener that accepts requests on any IP address, and restarts the WinRM service. Beginning in Windows PowerShell 3.0, Enable-PSSessionConfiguration also sets the value of the Enabled property of the session configuration (WSMan:\<computer>\PlugIn\<SessionConfigurationName>\Enabled) to "True". However, Enable-PSSessionConfiguration does not remove or change the "Network_Deny_All" (AccessMode=Local) security descriptor setting that allows only users of the local computer to use to the session configuration.
The Enable-PSSessionConfiguration cmdlet calls the Set-WSManQuickConfig cmdlet. However, it should not be used to enable remoting on the computer. Instead, use the more comprehensive cmdlet, Enable-PSRemoting.
Parameters
-Force
Suppresses all user prompts, and restarts the WinRM service without prompting. Restarting the service makes the configuration change effective.
To prevent a restart and suppress the restart prompt, use the NoServiceRestart parameter.
|
Aliases |
none |
|
Required? |
false |
|
Position? |
named |
|
Default Value |
none |
|
Accept Pipeline Input? |
false |
|
Accept Wildcard Characters? |
false |
-Name<String[]>
Specifies the names of session configurations to enable. Enter one or more configuration names. Wildcards are permitted.
You can also pipe a string that contains a configuration name or a session configuration object to Enable-PSSessionConfiguration.
If you omit this parameter, Enable-PSSessionConfiguration enables the Microsoft.PowerShell session configuration.
|
Aliases |
none |
|
Required? |
false |
|
Position? |
1 |
|
Default Value |
none |
|
Accept Pipeline Input? |
true (ByValue, ByPropertyName) |
|
Accept Wildcard Characters? |
true |
-SecurityDescriptorSddl<String>
Replaces the security descriptor on the session configuration with the specified security descriptor.
If you omit this parameter, Enable-PSSessionConfiguration just deletes the "deny all" item from the security descriptor.
|
Aliases |
none |
|
Required? |
false |
|
Position? |
named |
|
Default Value |
none |
|
Accept Pipeline Input? |
false |
|
Accept Wildcard Characters? |
false |
-SkipNetworkProfileCheck
Enables the session configuration when the computer is on a public network. This parameter enables a firewall rule for public networks that allows remote access only from computers in the same local subnet. By default, Enable-PSSessionConfiguration fails on a public network.
This parameter is designed for client versions of Windows. Server versions of Windows have a local subnet firewall rule for public networks by default. However, if the local subnet firewall rule is disabled on a server version of Windows, this parameter re-enables it.
To remove the local subnet restriction and enable remote access from all locations on public networks, use the Set-NetFirewallRule cmdlet in the NetSecurity module. For more information, see Enable-PSRemoting.
This parameter is introduced in Windows PowerShell 3.0.
|
Aliases |
none |
|
Required? |
false |
|
Position? |
named |
|
Default Value |
none |
|
Accept Pipeline Input? |
false |
|
Accept Wildcard Characters? |
false |
-Confirm
Prompts you for confirmation before running the cmdlet.
|
Required? |
false |
|
Position? |
named |
|
Default Value |
false |
|
Accept Pipeline Input? |
false |
|
Accept Wildcard Characters? |
false |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
|
Required? |
false |
|
Position? |
named |
|
Default Value |
false |
|
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 (http://go.microsoft.com/fwlink/p/?LinkID=113216).
Inputs
The input type is the type of the objects that you can pipe to the cmdlet.
-
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands#PSSessionConfiguration, System.String
You can pipe a session configuration object or a string that contains the name of a session configuration to Enable-PSSessionConfiguration.
Outputs
The output type is the type of the objects that the cmdlet emits.
-
None
This cmdlet does not return any objects.
Notes
-
To run this cmdlet on Windows Vista, Windows Server 2008, and later versions of Windows, you must start Windows PowerShell with the "Run as administrator" option.
Examples
-------------------------- EXAMPLE 1 --------------------------
This command re-enables the Microsoft.PowerShell default session configuration on the computer.
PS C:\> Enable-PSSessionConfiguration
-------------------------- EXAMPLE 2 --------------------------
This command re-enables the MaintenanceShell and AdminShell session configurations on the computer.
PS C:\> Enable-PSSessionConfiguration -name MaintenanceShell, AdminShell
-------------------------- EXAMPLE 3 --------------------------
These commands re-enable all session configurations on the computer. The commands are equivalent, so you can use either one.
Enable-PSSessionConfiguration does not generate an error if you enable a session configuration that is already enabled.
PS C:\> Enable-PSSessionConfiguration -name *PS C:\>Get-PSSessionConfiguration | Enable-PSSessionConfiguration
-------------------------- EXAMPLE 4 --------------------------
This command re-enables the MaintenanceShell session configuration and specifies a new security descriptor for the configuration.
PS C:\> Enable-PSSessionConfiguration -name MaintenanceShell -securityDescriptorSDDL "O:NSG:BAD:P(A;;GXGWGR;;;BA)(A;;GAGR;;;S-1-5-21-123456789-188441444-3100496)S:P"
Related topics
Disable-PSSessionConfiguration
Enable-PSSessionConfiguration
Get-PSSessionConfiguration
New-PSSessionConfigurationFile
New-PSSessionOption
Register-PSSessionConfiguration
Set-PSSessionConfiguration
Test-PSSessionConfigurationFile
Unregister-PSSessionConfiguration
WSMan Provider
about_Session_Configurations
about_Session_Configuration_Files