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-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
Запрос подтверждения перед выполнением командлета.
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 с помощью параметра Запуск от имени администратора .