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


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, разрешают доступ только членам группы администраторов .

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

Дополнительные сведения о конфигурациях сеансов см. в разделе 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 происходит сбой.

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

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

  • Установка удаленного подключения к локальному компьютеру. Это обычно называется сценарием замыкания на себя.
  • Управление конфигурациями сеансов на локальном компьютере.
  • Просмотр и изменение параметров 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 на локальных и удаленных компьютерах.

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

См. также раздел