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


about_Remote_Requirements

Краткое описание

Описывает требования к системе и требования к конфигурации для выполнения удаленных команд в PowerShell.

Подробное описание

В этом разделе описываются требования к системе, требования пользователей и требования к ресурсам для установления удаленных подключений и выполнения удаленных команд в PowerShell. Он также содержит инструкции по настройке удаленных операций.

Примечание.

Некоторые командлеты получают объекты из подключений RPC удаленных компьютеров или сеансов WMI для удаленных подключений. Они не используют инфраструктуру удаленного взаимодействия PowerShell. Требования в этом документе не применяются к этим командлетам.

Чтобы найти командлеты с параметром ComputerName, но не используйте удаленное взаимодействие PowerShell, ознакомьтесь с описанием параметра ComputerName командлетов.

Требования к системе

В удаленном взаимодействии с Windows PowerShell используется удаленное управление Windows (WinRM), которое предоставляется Windows Management Framework (WMF). Чтобы запустить удаленные сеансы в PowerShell, локальные и удаленные компьютеры должны иметь следующее:

  • Windows PowerShell 3.0 или более поздняя версия
  • Microsoft платформа .NET Framework 4 или более поздней версии
  • Удаленное управление Windows 3.0 или более поздней версии

Для запуска удаленных сеансов в Windows PowerShell 2.0 локальные и удаленные компьютеры должны иметь следующие возможности:

  • Windows PowerShell 2.0 или более поздней версии
  • Microsoft платформа .NET Framework 2.0 или более поздней версии
  • Удаленное управление Windows 2.0

Для полной поддержки следует использовать WMF 5.1. Дополнительные сведения о поддержке WMF см. в разделе Windows Management Framework (WMF).

Вы можете создать удаленный сеанс между компьютером под управлением Windows PowerShell 2.0 и новой версией PowerShell. Однако функции, работающие только в новых версиях PowerShell, такие как возможность отключения и повторного подключения к сеансам, доступны только в том случае, если оба компьютера работают под управлением Windows PowerShell 3.0 и более поздних версий.

Чтобы найти номер версии установленной версии PowerShell, используйте автоматическую $PSVersionTable переменную.

PowerShell 7 и выше также поддерживает удаленное взаимодействие PowerShell по протоколу SSH. Удаленное взаимодействие PowerShell по протоколу SSH позволяет подключаться к любому узлу Windows, macOS или Linux под управлением SSH. Дополнительные сведения см. в статье о удаленном взаимодействии PowerShell по протоколу SSH.

Разрешения пользователей

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

Разрешения, необходимые для создания сеансов и выполнения команд на удаленном компьютере, устанавливаются конфигурацией сеанса. Конфигурация сеанса определяет параметры конфигурации конечной точки подключения на удаленном компьютере. В частности, дескриптор безопасности в конфигурации сеанса определяет, кто имеет доступ к конфигурации сеанса и кто может использовать его для подключения.

Дескрипторы безопасности в конфигурациях сеансов по умолчанию, Microsoft.PowerShell и Microsoft.PowerShell32 разрешают доступ только к членам группы администраторов .

Члены группы администраторов на компьютере могут определить, кто имеет разрешение на подключение к компьютеру удаленно, изменив дескрипторы безопасности в конфигурациях сеансов по умолчанию или создав новые конфигурации сеансов с различными дескрипторами безопасности. Пользователи могут использовать параметр *-PSSession ConfigurationName командлетов для подключения к разным конечным точкам.

Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.

Сетевые расположения Windows

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

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

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

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

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

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

Примечание.

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

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

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

Запуск от имени администратора

Для следующих операций удаленного взаимодействия требуются права администратора:

  • Установка удаленного подключения к локальному компьютеру. Это обычно называется сценарием "loopback".
  • Управление конфигурациями сеансов на локальном компьютере.
  • Просмотр и изменение параметров WS-Management на локальном компьютере. Это параметры в узле LocalHost диска WSMAN.

Вы должны запустить PowerShell с параметром "Запуск от имени администратора" , даже если вы являетесь членом группы "Администраторы " на локальном компьютере.

При запуске Windows PowerShell из другой программы, например cmd.exe, используйте параметр запуска от имени администратора , чтобы запустить программу.

Настройка компьютера для удаленного взаимодействия

Компьютеры под управлением любой поддерживаемой версии Windows могут устанавливать удаленные подключения и запускать удаленные команды в PowerShell без какой-либо конфигурации. Однако для получения удаленных подключений необходимо включить удаленное взаимодействие PowerShell на компьютере.

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

По умолчанию функции удаленного взаимодействия PowerShell поддерживаются службой WinRM, которая является реализацией протокола веб-служб для управления (WS-Management). При включении удаленного взаимодействия PowerShell измените конфигурацию WS-Management по умолчанию и добавьте конфигурацию системы, которая позволяет пользователям подключаться к WS-Management.

Чтобы настроить PowerShell для получения удаленных команд, выполните следующие действия.

  1. Запустите PowerShell с помощью параметра "Запуск от имени администратора ".
  2. В командной строке введите следующий текст: Enable-PSRemoting.

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

New-PSSession

Если удаленное взаимодействие настроено правильно, команда создает сеанс на локальном компьютере и возвращает объект, представляющий сеанс.

Id Name        ComputerName    State    ConfigurationName
-- ----        ------------    -----    -----
1  Session1    localhost       Opened   Microsoft.PowerShell

Если команда завершается ошибкой, см. about_Remote_Troubleshooting.

Общие сведения о политиках

При удаленной работе используется два экземпляра PowerShell, один на локальном компьютере и один на удаленном компьютере. В результате работа влияет на политики Windows и PowerShell как на локальных, так и на удаленных компьютерах.

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

См. также