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
происходит сбой.
Запуск от имени администратора
Для следующих операций удаленного взаимодействия требуются права администратора:
- Установка удаленного подключения к локальному компьютеру. Это обычно называется сценарием замыкания на себя.
- Управление конфигурациями сеансов на локальном компьютере.
- Просмотр и изменение параметров 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 для получения удаленных команд, выполните следующие действия.
- Запустите PowerShell с параметром Запуск от имени администратора .
- В командной строке введите следующий текст:
Enable-PSRemoting
.
Чтобы убедиться, что удаленное взаимодействие настроено правильно, выполните тестовую команду, например следующую команду, которая создает удаленный сеанс на локальном компьютере.
New-PSSession
Если удаленное взаимодействие настроено правильно, команда создает сеанс на локальном компьютере и возвращает объект, представляющий сеанс.
Id Name ComputerName State ConfigurationName
-- ---- ------------ ----- -----
1 Session1 localhost Opened Microsoft.PowerShell
Если команда завершается ошибкой, см . about_Remote_Troubleshooting.
Общие сведения о политиках
При удаленной работе используется два экземпляра PowerShell: один на локальном компьютере, а второй — на удаленном компьютере. В результате на работу влияют политики Windows и PowerShell на локальных и удаленных компьютерах.
Перед подключением и при установке подключения политики на локальном компьютере действуют. При использовании подключения применяются политики на удаленном компьютере.