Предотвращает получение компьютером удаленных команд Windows PowerShell.
Синтаксис
Disable-PSRemoting [-Force] [-Confirm] [-WhatIf] [<CommonParameters>]
Описание
Функция Disable-PSRemoting отключает все конфигурации сеанса на локальном компьютере путем добавления записи "deny all" в их дескрипторы безопасности. Это предотвращает получение локальным компьютером удаленных команд.
Disable-PSRemoting не останавливает службу WinRM и не запрещает пользователям локального компьютера создавать сеансы, которые выполняют подключение к удаленным компьютерам или отправляют команды другим компьютерам.
Чтобы повторно включить конфигурации сеанса, используйте командлет Enable-PSRemoting или Enable-PSSessionConfiguration.
Чтобы выполнить эту функцию в Windows Vista, Windows Server 2008 и более поздних версиях Windows, необходимо запускать Windows PowerShell командой "Запуск от имени администратора".
Параметры
-Force
Подавляет все запросы подтверждения. По умолчанию выдается запрос на подтверждение каждой операции.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
False |
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Confirm
Запрашивает подтверждение перед выполнением команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-По умолчанию выдается запрос на подтверждение каждой операции.
Описывает, что произойдет при выполнении команды, без ее фактического выполнения.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
None Передать входные данные этому командлету по конвейеру невозможно. |
Выходные данные |
None Этот командлет не возвращает никаких объектов. |
Примечания
Конфигурация сеанса представляет собой группу параметров, определяющих среду сеанса. Конфигурации сеанса находятся на удаленном компьютере и используются локальными и удаленными сеансами, выполняющими подключение к компьютеру.
Каждый сеанс, осуществляющий подключение к компьютеру, должен использовать одну из конфигураций сеанса, зарегистрированных на компьютере. Это относится как к постоянным сеансам, создаваемым с помощью командлетов New-PSSession или Enter-PSSession, так и к временным сеансам, создаваемым Windows PowerShell при использовании параметра ComputerName в командлетах, использующих технологию удаленного взаимодействия WS-Management, например, Invoke-Command. Запрет доступа ко всем конфигурациям сеанса является эффективным способом предотвращения создания пользователями сеансов, выполняющих подключение к компьютеру.
Disable-PSRemoting эквивалентно "Disable-PSSessionConfiguration -name *.
Пример 1
C:\PS>disable-psremoting Описание ----------- Эта команда удаляет с компьютера все конфигурации сеансов.
Пример 2
C:\PS>disable-psremoting -force Описание ----------- Эта команда удаляет с компьютера все конфигурации сеансов, не выводя предупреждение.
Пример 3
C:\PS>disable-psremoting -force C:\PS> new-pssession -computername localhost [localhost] Connecting to remote server failed with the following error message : Access is denied. For more information, see the about_Remote_Troub leshooting Help topic. + CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException + FullyQualifiedErrorId : PSSessionOpenFailed C:\PS> new-pssession -computername Server01 Id Name ComputerName State Configuration Availability -- ---- ------------ ----- ------------- ------------ 1 Session1 Server01... Opened Microsoft.PowerShell Available C:\PS> enable-pssessionConfiguration -name * -force C:\PS> new-pssession -computername localhost Id Name ComputerName State Configuration Availability -- ---- ------------ ----- ------------- ------------ 1 Session1 localhost Opened Microsoft.PowerShell Available Описание ----------- В этом примере показан результат использования Disable-PSRemoting. Первая команда использует Disable-PSRemoting для отключения всех зарегистрированных конфигураций сеансов на локальном компьютере. Вторая команда использует New-PSSession для создания удаленного сеанса для удаленного компьютера (также называется "замыкание на себя"). Поскольку конфигурации сеанса, необходимые для этого сеанса, отключены, команда завершается ошибкой. Третья команда использует командлет New-PSSession для создания сеанса от локального компьютера к удаленному компьютеру Server01. Эта команда, использующая конфигурации сеанса на удаленном компьютере, успешно завершается. Четвертая команда использует командлет Enable-PSSessionConfiguration для повторного включения всех конфигураций сеанса на локальном компьютере. Команда использует значение * (все) в параметре Name. Пятая команда снова пытается создать сеанс с замыканием на себя, используя командлет New-PSSession. На этот раз команда завершается успешно, поскольку необходимая конфигурация сеанса включена.
Пример 4
C:\PS>disable-psremoting -force C:\PS> get-psSessionConfiguration | format-table -property name, permission -auto Name Permission ---- ---------- microsoft.powershell Everyone AccessDenied, BUILTIN\Administrators AccessAllowed microsoft.powershell32 Everyone AccessDenied, BUILTIN\Administrators AccessAllowed C:\PS> enable-psremoting -force WinRM already is set up to receive requests on this machine. WinRM already is set up for remote management on this machine. C:\PS>> Get-PSSessionConfiguration | ft name, Permission -auto Name Permission ---- ---------- microsoft.powershell BUILTIN\Administrators AccessAllowed microsoft.powershell32 BUILTIN\Administrators AccessAllowed Описание ----------- В этом примере показано влияние на конфигурации сеанса использования Disable-PSRemoting и Enable-PSRemoting. Первая команда использует функцию Disable-PSRemoting для отключения всех зарегистрированных конфигураций сеансов. Параметр Force подавляет все подтверждения пользователя. Вторая команда использует командлет Get-PSSessionConfiguration для отображения зарегистрированных конфигураций сеансов на локальном компьютере. Эта команда использует оператор конвейера для отправки результатов команде Format-Table, которая отображает только свойства Name и Permission конфигурации в таблице. В итоговой таблице показано, что разрешения для конфигурации запрещены. Третья команда использует командлет Enable-PSRemoting для повторного включения всех конфигураций сеанса на компьютере. Также можно использовать команду "Enable-PsSessionConfiguration -name *". В команде используется параметр Force, чтобы подавить все сообщения пользователю и перезапустить службу WinRM без запроса подтверждения. Четвертая команда использует Get-PSSessionConfiguration и Format-Table для отображения имен и разрешений конфигураций сеанса. В результате показывается, что для членов группы "Администраторы" теперь открыт доступ к конфигурациям сеанса.
См. также