Disable-PSRemoting
Запрещает конечным точкам PowerShell получать удаленные подключения.
Синтаксис
Disable-PSRemoting
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Disable-PSRemoting
блокирует удаленный доступ ко всем конфигурациям конечных точек сеанса Windows PowerShell на локальном компьютере. Сюда входят все конечные точки, созданные PowerShell 6 или более поздней версии.
Чтобы повторно включить удаленный доступ ко всем конфигурациям сеанса, используйте Enable-PSRemoting
командлет. Сюда входят все конечные точки, созданные PowerShell 6 или более поздней версии. Чтобы включить удаленный доступ к выбранным конфигурациям сеанса, используйте параметр AccessMode командлета Set-PSSessionConfiguration
.
Вы также можете использовать Enable-PSSessionConfiguration
командлеты для включения и Disable-PSSessionConfiguration
отключения конфигураций сеансов для всех пользователей. Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.
Примечание.
Даже после выполнения Disable-PSRemoting
подключения к циклу на локальном компьютере по-прежнему можно сделать. Подключение к циклу — это удаленный сеанс PowerShell, исходящий из и подключающийся к одному локальному компьютеру. Удаленные сеансы из внешних источников остаются заблокированными. Для подключений к циклу необходимо использовать неявные учетные данные в параметре EnableNetworkAccess . Дополнительные сведения о подключениях обратного цикла см. в разделе New-PSSession.
Чтобы запустить этот командлет, запустите Windows PowerShell с параметром "Запуск от имени администратора ".
Примеры
Пример 1. Запрет удаленного доступа ко всем конфигурациям сеанса
Этот пример запрещает удаленный доступ ко всем конфигурациям конечных точек сеанса PowerShell на компьютере.
Disable-PSRemoting
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these
steps:
1. Stop and disable the WinRM service.
2. Delete the listener that accepts requests on any IP address.
3. Disable the firewall exceptions for WS-Management communications.
4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
members of the Administrators group on the computer.
Пример 2. Запрет удаленного доступа ко всем конфигурациям сеанса без запроса подтверждения
Этот пример предотвращает удаленный доступ ко всем конфигурациям конечных точек сеанса PowerShell на компьютере без запроса.
Disable-PSRemoting -Force
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these
steps:
1. Stop and disable the WinRM service.
2. Delete the listener that accepts requests on any IP address.
3. Disable the firewall exceptions for WS-Management communications.
4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
members of the Administrators group on the computer.
Пример 3. Эффекты выполнения этого командлета
В этом примере показан эффект использования командлета Disable-PSRemoting
. Чтобы запустить эту последовательность команд, запустите PowerShell с помощью параметра "Запуск от имени администратора ".
После отключения конфигураций сеансов New-PSSession
командлет пытается создать удаленный сеанс на локальном компьютере (также называется "цикл обратной связью"). Так как удаленный доступ отключен на локальном компьютере, команда завершается ошибкой.
Disable-PSRemoting -Force
New-PSSession -ComputerName localhost
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these steps:
1. Stop and disable the WinRM service.
2. Delete the listener that accepts requests on any IP address.
3. Disable the firewall exceptions for WS-Management communications.
4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
members of the Administrators group on the computer.
New-PSSession : [localhost] Connecting to remote server localhost failed with the following error
message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ New-PSSession -ComputerName localhost -ConfigurationName PowerShell.6
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Management.A\u2026tion.RemoteRunspace:RemoteRunspace)
[New-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed
Пример 4. Эффекты выполнения этого командлета и enable-PSRemoting
В этом примере показано влияние на конфигурации сеанса с помощью Disable-PSRemoting
командлетов и Enable-PSRemoting
командлетов.
Disable-PSRemoting
используется для отключения удаленного доступа ко всем конфигурациям конечных точек сеанса PowerShell. Параметр Force подавляет все запросы пользователей. Format-Table
Командлеты Get-PSSessionConfiguration
отображают конфигурации сеанса на компьютере.
В выходных данных показано, что всем удаленным пользователям с сетевым маркером запрещен доступ к конфигурациям конечных точек. Администраторы группы на локальном компьютере могут получить доступ к конфигурациям конечных точек, если они подключаются локально (также называются циклом) и используют неявные учетные данные.
Disable-PSRemoting -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -AutoSize
Enable-PSRemoting -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -AutoSize
Name Permission
---- ----------
microsoft.powershell NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
WithProfile NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
Name Permission
---- ----------
microsoft.powershell BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed
microsoft.ServerManager BUILTIN\Administrators AccessAllowed
WithProfile BUILTIN\Administrators AccessAllowed
Командлет Enable-PSRemoting
повторно включает удаленный доступ ко всем конфигурациям конечных точек сеанса PowerShell на компьютере. Параметр Force подавляет все запросы пользователей и перезапускает службу WinRM без запроса. В новых выходных данных показано, что дескрипторы безопасности AccessDenied были удалены из всех конфигураций сеансов.
Пример 5. Подключение к циклу с отключенными конфигурациями конечных точек сеанса
В этом примере показано, как отключены конфигурации конечных точек и как сделать успешное подключение к отключенной конечной точке. Disable-PSRemoting
отключает все конфигурации конечных точек сеанса PowerShell.
Disable-PSRemoting -Force
New-PSSession -ComputerName localhost
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these steps:
1. Stop and disable the WinRM service.
2. Delete the listener that accepts requests on any IP address.
3. Disable the firewall exceptions for WS-Management communications.
4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
members of the Administrators group on the computer.
New-PSSession : [localhost] Connecting to remote server localhost failed with the following error message : Access is
denied. For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ New-PSSession -ComputerName localhost
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin
gTransportException
+ FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailed
New-PSSession -ComputerName localhost -EnableNetworkAccess
Id Name Transport ComputerName ComputerType State ConfigurationName Availability
-- ---- --------- ------------ ------------ ----- ----------------- ------------
1 Runspace1 WSMan localhost RemoteMachine Opened powershell.6 Available
Первое использование New-PSSession
попыток создания удаленного сеанса на локальном компьютере. Этот тип подключения проходит через сетевой стек и не является циклом обратной связи. Следовательно, попытка подключения к отключенной конечной точке завершается сбоем с ошибкой Access.
Второе использование New-PSSession
также пытается создать удаленный сеанс на локальном компьютере.
В этом случае это происходит успешно, так как это подключение обратного цикла, которое проходит сетевой стек.
Соединение обратного цикла создается при выполнении следующих условий:
- Имя компьютера для подключения — localhost.
- Учетные данные не передаются. Для подключения используется текущий вход пользователя (неявные учетные данные).
- Используется параметр переключателя EnableNetworkAccess.
Дополнительные сведения о подключениях обратного цикла см . в документе New-PSSession .
Пример 6. Запрет удаленного доступа к конфигурациям сеансов с пользовательскими дескрипторами безопасности
В этом примере показано, что Disable-PSRemoting
командлет отключает удаленный доступ ко всем конфигурациям сеансов, включая конфигурации сеансов с пользовательскими дескрипторами безопасности.
Register-PSSessionConfiguration
создает конфигурацию тестового сеанса. Параметр FilePath указывает файл конфигурации сеанса, который настраивает сеанс. Параметр ShowSecurityDescriptorUI отображает диалоговое окно, которое задает разрешения для конфигурации сеанса. В диалоговом окне "Разрешения" мы создадим пользовательские разрешения полного доступа для указанного пользователя.
Format-Table
Командлеты Get-PSSessionConfiguration
отображают конфигурации сеанса и их свойства. В выходных данных показано, что конфигурация тестового сеанса разрешает интерактивный доступ и специальные разрешения для указанного пользователя.
Disable-PSRemoting
отключает удаленный доступ ко всем конфигурациям сеанса.
Register-PSSessionConfiguration -Name Test -FilePath .\TestEndpoint.pssc -ShowSecurityDescriptorUI -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Wrap
Disable-PSRemoting -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -Wrap
New-PSSession -ComputerName localhost -ConfigurationName Test
Name Permission
---- ----------
microsoft.powershell BUILTIN\Administrators AccessAllowed
Test NT AUTHORITY\INTERACTIVE AccessAllowed, BUILTIN\Administrators AccessAllowed,
DOMAIN01\User01 AccessAllowed
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these steps:
1. Stop and disable the WinRM service.
2. Delete the listener that accepts requests on any IP address.
3. Disable the firewall exceptions for WS-Management communications.
4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
members of the Administrators group on the computer.
Name Permission
---- ----------
microsoft.powershell NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
Test NT AUTHORITY\NETWORK AccessDenied, NTAUTHORITY\INTERACTIVE AccessAllowed,
BUILTIN\Administrators AccessAllowed, DOMAIN01\User01 AccessAllowed
[Server01] Connecting to remote server failed with the following error message : Access is denied. For more information, see the about_Rem
ote_Troubleshooting Help topic.
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
+ FullyQualifiedErrorId : PSSessionOpenFailed
Get-PSSessionConfiguration
Format-Table
Теперь командлеты показывают, что дескриптор безопасности AccessDenied для всех сетевых пользователей добавляется во все конфигурации сеансов, включая конфигурацию тестового сеанса. Хотя другие дескрипторы безопасности не изменяются, дескриптор безопасности network_deny_all имеет приоритет. Это иллюстрируется попыткой New-PSSession
подключения к конфигурации тестового сеанса.
Пример 7. Повторное включение удаленного доступа к выбранным конфигурациям сеанса
В этом примере показано, как повторно включить удаленный доступ к определенным конфигурациям сеансов. После отключения всех конфигураций сеансов мы повторно включите определенный сеанс.
Командлет Set-PSSessionConfiguration
используется для изменения корпорации Майкрософт. Конфигурация сеанса ServerManager . Параметр AccessMode со значением Remote повторно включает удаленный доступ к конфигурации.
Disable-PSRemoting -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -AutoSize
Set-PSSessionConfiguration -Name Microsoft.ServerManager -AccessMode Remote -Force
Get-PSSessionConfiguration | Format-Table -Property Name, Permission -AutoSize
WARNING: Disabling the session configurations does not undo all the changes made by the Enable-PSRemoting
or Enable-PSSessionConfiguration cmdlet. You might have to manually undo the changes by following these steps:
1. Stop and disable the WinRM service.
2. Delete the listener that accepts requests on any IP address.
3. Disable the firewall exceptions for WS-Management communications.
4. Restore the value of the LocalAccountTokenFilterPolicy to 0, which restricts remote access to
members of the Administrators group on the computer.
Name Permission
---- ----------
microsoft.powershell NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
WithProfile NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
Name Permission
---- ----------
microsoft.powershell NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell.workflow NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.ServerManager BUILTIN\Administrators AccessAllowed
WithProfile NT AUTHORITY\NETWORK AccessDenied, BUILTIN\Administrators AccessAllowed
Параметры
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Force
Принудительное выполнение команды без запроса на подтверждение пользователем.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
Отключение конфигураций сеанса не отменяет все изменения, внесенные
Enable-PSRemoting
командлетами илиEnable-PSSessionConfiguration
командлетами. Вам может потребоваться отменить указанные ниже изменения вручную.- Остановка и отключение службы WinRM.
- Удаление прослушивателя, принимающего запросы по любому IP-адресу.
- Отключение исключений брандмауэра для соединений WS-Management.
- Восстановление нулевого значения параметра LocalAccountTokenFilterPolicy, при котором удаленный доступ на компьютере получают только участники группы "Администраторы".
Конфигурация сеанса — это набор параметров, определяющих среду для сеанса. Каждый сеанс подключения к компьютеру должен использовать одну из конфигураций сеансов, зарегистрированных на компьютере. Запрещая удаленный доступ ко всем конфигурациям сеансов, вы в итоге запрещаете удаленным пользователям создавать сеансы подключения к компьютеру.
В Windows PowerShell 2.0
Disable-PSRemoting
добавляет Deny_All запись в дескрипторы безопасности всех конфигураций сеансов. Этот параметр запрещает всем пользователям создавать сеансы, управляемые пользователем, на локальном компьютере. В Windows PowerShell 3.0Disable-PSRemoting
добавляет Network_Deny_All запись в дескрипторы безопасности всех конфигураций сеансов. Этот параметр запрещает пользователям на других компьютерах создавать сеансы, управляемые пользователем, на локальном компьютере, но позволяет пользователям локального компьютера создавать сеансы, управляемые пользователем.В Windows PowerShell 2.0
Disable-PSRemoting
эквивалентенDisable-PSSessionConfiguration -Name *
. В Windows PowerShell 3.0 и более поздних выпускахDisable-PSRemoting
эквивалентенSet-PSSessionConfiguration -Name \<Configuration name\> -AccessMode Local
Связанные ссылки
PowerShell