Enable-PSSessionConfiguration
Enables the session configurations on the local computer.
Syntax
Enable-PSSessionConfiguration
[[-Name] <String[]>]
[-Force]
[-SecurityDescriptorSddl <String>]
[-SkipNetworkProfileCheck]
[-NoServiceRestart]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
This cmdlet is only available on the Windows platform.
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 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.
Examples
Example 1: Re-enable the default session
This example re-enables the Microsoft.PowerShell default session configuration on the computer.
Enable-PSSessionConfiguration
Example 2: Re-enable specified sessions
This example re-enables the MaintenanceShell and AdminShell session configurations on the computer.
Enable-PSSessionConfiguration -Name MaintenanceShell, AdminShell
Example 3: Re-enable the all sessions
This example re-enables all session configurations on the computer. These commands are equivalent. Therefore, you can use either.
Enable-PSSessionConfiguration -Name *
Get-PSSessionConfiguration | Enable-PSSessionConfiguration
Enable-PSSessionConfiguration
does not generate an error if you enable a session configuration
that is already enabled.
Example 4: Re-enable a session and specify a new security descriptor
This example re-enables the MaintenanceShell session configuration and specifies a new security descriptor for the configuration.
$sddl = "O:NSG:BAD:P(A;;GXGWGR;;;BA)(A;;GAGR;;;S-1-5-21-123456789-188441444-3100496)S:P"
Enable-PSSessionConfiguration -Name MaintenanceShell -SecurityDescriptorSDDL $sddl
Parameters
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Indicates that the cmdlet does not prompt you for confirmation, 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Specifies the names of session configurations to enable. Enter one or more configuration names. Wildcard characters 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.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-NoServiceRestart
Indicates that the cmdlet does not restart the service.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecurityDescriptorSddl
Specifies a security descriptor with which this cmdlet replaces the security descriptor on the session configuration.
If you omit this parameter, Enable-PSSessionConfiguration
only deletes the deny all item from the
security descriptor.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SkipNetworkProfileCheck
Indicates that this cmdlet 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 the Windows operating system. Server versions of the Windows operating system have a local subnet firewall rule for public networks. However, if the local subnet firewall rule is disabled on a server version of the Windows operating system, 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 was introduced in PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands
You can pipe a session configuration object to this cmdlet.
You can pipe a string that contains the name of a session configuration to this cmdlet.
Outputs
None
This cmdlet returns no output.
Notes
This cmdlet is only available on Windows platforms.
To use this cmdlet, you must start PowerShell by using the Run as administrator option.
Related Links
- Disable-PSSessionConfiguration
- Get-PSSessionConfiguration
- New-PSSessionConfigurationFile
- New-PSSessionOption
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- WSMan Provider
- about_Session_Configurations
- about_Session_Configuration_Files
PowerShell