Disable-PSSessionConfiguration
Disables session configurations on the local computer.
语法
Default (默认值)
Disable-PSSessionConfiguration
[[-Name] <String[]>]
[-Force]
[-NoServiceRestart]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
The Disable-PSSessionConfiguration
cmdlet disables session configurations on the local computer,
which prevents all users from using the session configurations to create a user-managed sessions
(PSSessions) on the local computer. This is an advanced cmdlet that is designed to be used by
system administrators to manage customized session configurations for their users.
Starting in PowerShell 3.0, the Disable-PSSessionConfiguration
cmdlet sets the Enabled setting
of the session configuration (WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled
) to False.
In PowerShell 2.0, the Disable-PSSessionConfiguration
cmdlet adds a Deny_All entry to the
security descriptor of one or more registered session configurations.
Without parameters, Disable-PSSessionConfiguration
disables the Microsoft.PowerShell
configuration, the default configuration used for sessions. Unless the user specifies a different
configuration, both local and remote users are effectively prevented from creating any sessions that
connect to the computer.
To disable all session configurations on the computer, use Disable-PSRemoting
.
示例
Example 1: Disable the default configuration
This example disables the Microsoft.PowerShell session configuration.
Disable-PSSessionConfiguration
Example 2: Disable all registered session configurations
This example disables all registered session configurations on the computer.
Disable-PSSessionConfiguration -Name *
Example 3: Disable session configurations by name
This example disables all session configurations that have names that begin with Microsoft. The Force parameter suppresses all user prompts from the cmdlet.
Disable-PSSessionConfiguration -Name Microsoft* -Force
Example 4: Disable session configurations by using the pipeline
This example disables the MaintenanceShell and AdminShell session configurations. The
pipeline operator (|) sends the results of a Get-PSSessionConfiguration
to
Disable-PSSessionConfiguration
.
Get-PSSessionConfiguration -Name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration
Example 5: Effects of disabling a session configuration
This example shows the permissions before and after running Disable-PSSessionConfiguration
and the
effect of disabling a session configuration.
PS> Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto
Name Permission
---- ----------
MaintenanceShell BUILTIN\Administrators AccessAllowed
microsoft.powershell BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed
PS> Disable-PSSessionConfiguration -Name MaintenanceShell -Force
PS> Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Auto
Name Permission
---- ----------
MaintenanceShell Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed
PS> New-PSSession -ComputerName localhost -ConfigurationName MaintenanceShell
[localhost] Connecting to remote server failed with the following error message : Access is denied.
For more information, see the about_Remote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
Note
Disabling the configuration does not prevent you from changing the configuration using the
Set-PSSessionConfiguration
cmdlet. It only prevents use of the configuration.
参数
-Confirm
Prompts you for confirmation before running the cmdlet.
参数属性
类型: | SwitchParameter |
默认值: | False |
支持通配符: | False |
不显示: | False |
别名: | cf |
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-Force
Forces the command to run without asking for user confirmation.
参数属性
类型: | SwitchParameter |
默认值: | None |
支持通配符: | False |
不显示: | False |
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-Name
Specifies an array of names of session configurations to disable. 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 Disable-PSSessionConfiguration
.
If you omit this parameter, Disable-PSSessionConfiguration
disables the Microsoft.PowerShell
session configuration.
参数属性
类型: | String[] |
默认值: | None |
支持通配符: | True |
不显示: | False |
参数集
(All)
Position: | 0 |
必需: | False |
来自管道的值: | True |
来自管道的值(按属性名称): | True |
来自剩余参数的值: | False |
-NoServiceRestart
Used to prevent the restart of the WSMan service. It is not necessary to restart the service to disable the configuration.
参数属性
类型: | SwitchParameter |
默认值: | None |
支持通配符: | False |
不显示: | False |
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
参数属性
类型: | SwitchParameter |
默认值: | False |
支持通配符: | False |
不显示: | False |
别名: | wi |
参数集
(All)
Position: | Named |
必需: | False |
来自管道的值: | False |
来自管道的值(按属性名称): | False |
来自剩余参数的值: | False |
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
输入
Microsoft.PowerShell.Commands.PSSessionConfigurationCommands
You can pipe a session configuration object or a string that contains the name of a session configuration to this cmdlet.
输出
None
This cmdlet does not return any objects.
备注
To run this cmdlet you must start PowerShell by using the Run as administrator option.