Предотвращает получение компьютером удаленных команд 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 для отображения имен и разрешений конфигураций сеанса. В результате показывается, что для членов группы "Администраторы" теперь открыт доступ к конфигурациям сеанса.






См. также