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


Disable-PSSessionConfiguration

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

Синтаксис

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

Описание

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

Начиная с PowerShell 3.0 командлет задает для параметра включенной параметра конфигурации сеанса () значение False.

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

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

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

Примеры

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

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

Disable-PSSessionConfiguration

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

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

Disable-PSSessionConfiguration -Name *

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

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

Disable-PSSessionConfiguration -Name Microsoft* -Force

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

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

Параметры

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Name

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

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

Тип:String[]
Position:0
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:True

-NoServiceRestart

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

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

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

None

Этот командлет не возвращает объекты.

Примечания

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

Чтобы запустить этот командлет, необходимо запустить PowerShell с помощью параметра запуска от имени администратора.