Поделиться через


Disable-PSSessionConfiguration

Отключает конфигурации сеансов на локальном компьютере.

Синтаксис

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

Описание

Этот командлет доступен только на платформе Windows.

Командлет Disable-PSSessionConfiguration отключает конфигурации сеансов на локальном компьютере, что не позволяет всем пользователям использовать конфигурации сеансов для создания управляемых пользователем сеансов (PSSessions) на локальном компьютере. Этот расширенный командлет предназначен для использования системными администраторами и позволяет управлять конфигурациями сеансов для пользователей.

Начиная с PowerShell 3.0 командлет Disable-PSSessionConfiguration задает для параметра Enabled конфигурации сеанса (WSMan:\localhost\Plugins\<SessionConfiguration>\Enabled) значение False.

В PowerShell 2.0 Disable-PSSessionConfiguration командлет добавляет запись Deny_All в дескриптор безопасности одной или нескольких зарегистрированных конфигураций сеанса.

Без параметров Disable-PSSessionConfiguration отключает конфигурацию Microsoft.PowerShell , используемую по умолчанию для сеансов. Если пользователь не указывает другую конфигурацию, командлет эффективно блокирует создание сеансов подключения к компьютеру локальными и удаленными пользователями.

Чтобы отключить все конфигурации сеанса на компьютере, используйте .Disable-PSRemoting

Примеры

Пример 1. Отключение конфигурации по умолчанию

В этом примере отключается конфигурация сеанса Microsoft.PowerShell .

Disable-PSSessionConfiguration

Пример 2. Отключение всех зарегистрированных конфигураций сеанса

В этом примере отключается все зарегистрированные конфигурации сеанса на компьютере.

Disable-PSSessionConfiguration -Name *

Пример 3. Отключение конфигураций сеансов по имени

В этом примере отключается все конфигурации сеанса с именами, начинающимися с Microsoft. Параметр Force подавляет все запросы пользователя из командлета .

Disable-PSSessionConfiguration -Name Microsoft* -Force

Пример 4. Отключение конфигураций сеансов с помощью конвейера

В этом примере отключается конфигурация сеанса MaintenanceShell и AdminShell . Оператор конвейера (|) отправляет результаты в Get-PSSessionConfigurationDisable-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 . Это только предотвращает использование конфигурации.

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Принудительное выполнение команды без запроса на подтверждение пользователем.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Задает массив имен конфигураций сеансов, которые необходимо отключить. Введите одно или несколько имен конфигурации. Можно использовать подстановочные знаки. Можно также передать по конвейеру строку, содержащую имя конфигурации или объект конфигурации сеанса, в Disable-PSSessionConfiguration.

Если этот параметр не указан, Disable-PSSessionConfiguration отключает конфигурацию сеанса Microsoft.PowerShell .

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-NoServiceRestart

Используется для предотвращения перезапуска службы WSMan. Чтобы отключить конфигурацию, перезапускать службу не нужно.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Вы можете передать по конвейеру объект конфигурации сеанса или строку, которая содержит имя конфигурации сеанса в этот командлет.

Выходные данные

None

Этот командлет не создает никаких объектов.

Примечания

Этот командлет доступен только на платформах Windows.

Для выполнения этого командлета необходимо запустить PowerShell с помощью параметра Запуск от имени администратора .