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


Enable-PSRemoting

Настраивает компьютер для получения удаленных команд.

Синтаксис

Default (По умолчанию)

Enable-PSRemoting
    [-Force]
    [-SkipNetworkProfileCheck]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Описание

Командлет Enable-PSRemoting настраивает компьютер для получения удаленных команд PowerShell, отправляемых с помощью технологии WS-Management.

Удаленное взаимодействие PowerShell включено по умолчанию в Windows Server 2012 и более поздних версиях. Вы можете использовать Enable-PSRemoting для включения удаленного взаимодействия PowerShell в других поддерживаемых версиях Windows и повторного включения удаленного взаимодействия, если оно отключится.

Эту команду необходимо выполнить только один раз на каждом компьютере, получающего команды. Его не нужно запускать на компьютерах, которые отправляют только команды. Так как конфигурация запускает прослушиватели, рекомендуется запускать ее только там, где это необходимо.

Начиная с PowerShell 3.0, командлет Enable-PSRemoting может включить удаленное взаимодействие PowerShell в клиентских версиях Windows, когда компьютер находится в общедоступной сети. Дополнительные сведения см. в описании параметра SkipNetworkProfileCheck.

Командлет Enable-PSRemoting выполняет следующие операции:

  • Запускает командлет Set-WSManQuickConfig, который выполняет следующие задачи:
    • Запускает службу WinRM.
    • Задает тип запуска службы WinRM в значение "Автоматически".
    • Создает прослушиватель для приема запросов на любой IP-адрес.
    • Включает исключение брандмауэра для коммуникаций WS-Management.
    • Регистрирует конфигурации сеансов Microsoft.PowerShell и конфигурации сеансов Microsoft.PowerShell.Workflow, если они еще не зарегистрированы.
    • Регистрирует конфигурацию сеанса Microsoft.PowerShell32 на 64-разрядных компьютерах, если она еще не зарегистрирована.
    • Включает все конфигурации сеанса.
    • Изменяет дескриптор безопасности всех конфигураций сеансов, чтобы разрешить удаленный доступ.
  • Перезапускает службу WinRM, чтобы внести предыдущие изменения в силу.

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

Дополнительные сведения об использовании удаленного взаимодействия PowerShell можно найти в следующих статьях:

Примеры

Пример 1. Настройка компьютера для получения удаленных команд

Эта команда настраивает компьютер для получения удаленных команд.

Enable-PSRemoting

Пример 2. Настройка компьютера для получения удаленных команд без запроса подтверждения

Эта команда настраивает компьютер для получения удаленных команд. Параметр Force подавляет запросы пользователя.

Enable-PSRemoting -Force

Пример 3. Разрешение удаленного доступа на клиентах

В этом примере показано, как разрешить удаленный доступ из общедоступных сетей в клиентских версиях операционной системы Windows. Имя правила брандмауэра может отличаться для разных версий Windows. Используйте Get-NetFirewallRule для просмотра списка правил. Перед включением правила брандмауэра просмотрите параметры безопасности в правиле, чтобы убедиться, что конфигурация подходит для вашей среды.

Get-NetFirewallRule -Name 'WINRM*' | Select-Object -Property Name
Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any

По умолчанию Enable-PSRemoting создает правила сети, разрешающие удаленный доступ из частных и доменных сетей. Команда использует параметр SkipNetworkProfileCheck, чтобы разрешить удаленный доступ из общедоступных сетей в одной локальной подсети. Команда задает параметр Force, чтобы подавить сообщения подтверждения.

Параметр SkipNetworkProfileCheck не влияет на версии сервера операционной системы Windows, которые по умолчанию разрешают удаленный доступ из общедоступных сетей в одной локальной подсети.

Командлет Set-NetFirewallRule в модуле NetSecurity добавляет правило брандмауэра, которое разрешает удаленный доступ из общедоступных сетей из любого удаленного расположения. Это включает местоположения в разных подсетях.

Замечание

Имя правила брандмауэра может отличаться в зависимости от версии Windows. Используйте командлет Get-NetFirewallRule для перечисления имен правил в системе.

Параметры

-Confirm

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

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:cf

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

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

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-SkipNetworkProfileCheck

Указывает, что этот командлет включает удаленное взаимодействие в клиентских версиях операционной системы Windows, когда компьютер находится в общедоступной сети. Этот параметр включает правило брандмауэра для общедоступных сетей, разрешающее удаленный доступ только с компьютеров в одной локальной подсети.

Этот параметр не влияет на версии сервера операционной системы Windows, которая по умолчанию имеет правило брандмауэра локальной подсети для общедоступных сетей. Если правило брандмауэра локальной подсети отключено в версии сервера, Enable-PSRemoting повторно включает его независимо от значения этого параметра.

Чтобы удалить ограничение локальной подсети и включить удаленный доступ из всех расположений в общедоступных сетях, используйте командлет Set-NetFirewallRule в модуле NetSecurity.

Этот параметр появился в PowerShell 3.0.

Свойства параметров

Тип:SwitchParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметров

Тип:SwitchParameter
Default value:False
Поддерживаются подстановочные знаки:False
DontShow:False
Aliases:wi

Наборы параметров

(All)
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

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

None

Невозможно передать объекты в этот командлет.

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

String

Этот командлет возвращает строки, описывающие результаты.

Примечания

Начиная с PowerShell 3.0, Enable-PSRemoting включает все конфигурации сеансов, задав значение свойства Включено всех конфигураций сеансов для $true.

  • В версиях операционной системы Windows Enable-PSRemoting создает правила брандмауэра для частных и доменных сетей, которые разрешают удаленный доступ, и создает правило брандмауэра для общедоступных сетей, которое разрешает удаленный доступ только с компьютеров в одной локальной подсети.

  • В клиентских версиях операционной системы Windows Enable-PSRemoting в PowerShell 3.0 создает правила брандмауэра для частных и доменных сетей, которые разрешают неограниченный удаленный доступ. Чтобы создать правило брандмауэра для общедоступных сетей, разрешающих удаленный доступ из одной локальной подсети, используйте параметр SkipNetworkProfileCheck.

  • На клиентских или серверных версиях операционной системы Windows, чтобы создать правило брандмауэра для общедоступных сетей, которое удаляет ограничение локальной подсети и позволяет удаленный доступ, используйте командлет Set-NetFirewallRule в модуле NetSecurity для выполнения следующей команды: Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Enable-PSRemoting включает все конфигурации сеансов, устанавливая значение свойства Включено для всех конфигураций сеансов на $true.

Enable-PSRemoting удаляет параметры Deny_All и Network_Deny_All. Это обеспечивает удаленный доступ к конфигурациям сеансов, зарезервированным для локального использования.