当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 禁用 PSSessionConfiguration (Microsoft.PowerShell.Core)

作者:精品下载站 日期:2024-12-14 02:16:47 浏览:15 分类:玩电脑

禁用 PSSessionConfiguration (Microsoft.PowerShell.Core)


禁用-PSSessionConfiguration

模块 :Microsoft.PowerShell.Core

禁用本地计算机上的会话配置。

句法

Disable-PSSessionConfiguration
       [[-Name] <String[]>]
       [-Force]
       [-NoServiceRestart]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

描述

此 cmdlet 仅适用于 Windows 平台。

Disable-PSSessionConfiguration cmdlet 会禁用本地计算机上的会话配置,从而阻止所有用户使用会话配置在本地计算机上创建用户管理的会话 (PSSessions) 。这是一个高级 cmdlet,旨在供系统管理员用来管理其用户的自定义会话配置。

从 PowerShell 3.0 开始,Disable-PSSessionConfiguration cmdlet 设置会话配置的 Enabled 设置 (WSMan:\localhost\Plugins\Enabled) 为 False。

在 PowerShell 2.0 中,Disable-PSSessionConfiguration cmdlet 将 Deny_All 条目添加到一个或多个已注册会话配置的安全描述符中。

如果没有参数,Disable-PSSessionConfiguration 将禁用 Microsoft.PowerShell 配置,这是用于会话的默认配置。除非用户指定不同的配置,否则本地和远程用户都将被有效阻止创建连接到计算机的任何会话。

要禁用计算机上的所有会话配置,请使用 Disable-PSRemoting

示例

示例 1:禁用默认配置

此示例禁用 Microsoft.PowerShell 会话配置。

Disable-PSSessionConfiguration

示例 2:禁用所有已注册的会话配置

此示例禁用计算机上的所有已注册会话配置。

Disable-PSSessionConfiguration -Name *

示例 3:按名称禁用会话配置

此示例禁用名称以 Microsoft 开头的所有会话配置。 Force 参数禁止 cmdlet 发出所有用户提示。

Disable-PSSessionConfiguration -Name Microsoft* -Force

示例 4:使用管道禁用会话配置

此示例禁用 MaintenanceShellAdminShell 会话配置。管道运算符 (|) 将 Get-PSSessionConfiguration 的结果发送到 Disable-PSSessionConfiguration

Get-PSSessionConfiguration -Name MaintenanceShell, AdminShell | Disable-PSSessionConfiguration

示例 5:禁用会话配置的效果

此示例显示运行 Disable-PSSessionConfiguration 之前和之后的权限以及禁用会话配置的效果。

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

笔记

禁用配置不会阻止您使用 Set-PSSessionConfiguration cmdlet 更改配置。它仅阻止使用该配置。

参数

-Confirm

在运行 cmdlet 之前提示您进行确认。

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Force

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

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Name

指定要禁用的会话配置名称的数组。输入一个或多个配置名称。允许使用通配符。您还可以通过管道将包含配置名称或会话配置对象的字符串传递给 Disable-PSSessionConfiguration

如果省略此参数,Disable-PSSessionConfiguration 将禁用 Microsoft.PowerShell 会话配置。

类型 :

String[]

位置:

0

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

True

-NoServiceRestart

用于防止 WSMan 服务重新启动。无需重新启动服务即可禁用配置。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-WhatIf

显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

您可以通过管道将会话配置对象传递给此 cmdlet。

字符串

您可以通过管道将包含会话配置名称的字符串传递给此 cmdlet。

输出

此 cmdlet 不返回任何输出。

笔记

此 cmdlet 仅适用于 Windows 平台。

要运行此 cmdlet,您必须使用以管理员身份运行选项启动 PowerShell。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯