PowerShell. О требованиях к инраструктуре для работы дистанционного подключения. (about_Remote_Requirements)

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

Примечание: Многие командлеты (в том числе командлеты Get-Service, Get-Process, Get-WMIObject, Get-EventLog, и Get-WinEvent) могут получать объекты с удаленных компьютеров с помощью методов для извлечения объектов Microsoft .NET Framework. Они не используют инфраструктуру удаленного взаимодействия Windows PowerShell. Требования в этом документе не распространяются на эти команды.

Чтобы найти командлеты, которые имеют параметр ComputerName, и не используют Windows PowerShell Remoting, можно воспользоваться командлетом Get-Command.

Системные требования

Для запуска удаленных сеансов с поддержкой возможностей Windows PowerShell 3.0, локальные и удаленные компьютеры должны иметь следующее компоненты:
— Windows PowerShell 3.0 или более позднюю версию
— Платформу Microsoft .NET Framework 4.0 или более позднюю версию
— Windows Remote Management 3.0

Для запуска удаленных сеансов с возможностями Windows PowerShell 2.0, локальные и удаленные компьютеры должны иметь следующее компоненты:
— Windows PowerShell 2.0 или более позднюю версию
— Платформа Microsoft .NET Framework 2.0 или более позднюю версию
— Windows Remote Management 2.0

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

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

Windows Remote Management (WinRM) 3.0 и Microsoft .NET Framework 4.0 включены в Windows 8, Windows Server 2012, и новые выпуски операционных системы Windows. В более поздних операционных системах надо установить WinRM 3.0 он входит в Management Framework 3.0 для Windows. Если компьютер не имеет требуемой версии WinRM или Microsoft .NET Framework, произойдёт сбой установки.

 

Права пользователя

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

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

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

Если текущий пользователь не имеет разрешения на использование конфигурации сеанса, то команда запускающая команды (используется временная сессия) или создание постоянного сеанса на удаленном компьютере не удастся. Пользователь может использовать параметр командлетов ConfigurationName, которые создают сеансы с помощью другой конфигурации сеанса, если таковые имеются.

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

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

 

Сетевое окружение Windows

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

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

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

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

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

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

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

 

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

Права администратора требуются для выполнения следующих операций удаленного взаимодействия:
— Установление удаленного подключения к локальному компьютеру. Такое подключение называется «loopback» или «local» сессия.
— Настройка конфигурации сессии на локальном компьютере.
— Просмотр и изменение настроек WS-Management на локальном компьютере. Эти настройки находятся в узле LocalHost на диске WSMAN:.

Для выполнения этих задач, пользователь должен запустить Windows PowerShell с параметром «Запуск от имени администратора», даже если он является членом группы администраторов на локальном компьютере.

В Windows 7 и Windows Server 2008 R2, чтобы запустить Windows PowerShell с параметром «Запуск от имени администратора»:
1. Нажмите кнопку Пуск, выберите «Все программы», войдите в «Стандартные», а затем нажмите на папку «Windows PowerShell».
2. Щелкните правой кнопкой мыши на ярлык «Windows PowerShell», а затем нажмите кнопку «Запуск от имени администратора».

В ранних версиях Windows, чтобы запустить Windows PowerShell с параметром «Запуск от имени администратора»:
1. Нажмите кнопку «Пуск», выберите «Все программы», а затем зайдите папку «Windows PowerShell».
2. Щелкните правой кнопкой мыши на ярлык «Windows PowerShell», а затем нажмите кнопку «Запуск от имени администратора».

В проводнике Windows опция «Запуск от имени администратора», также доступна в других видах запуска Windows PowerShell, в том числе на ярлыках. Просто нажмите правой кнопкой мыши элемент, а затем нажмите кнопку «Запуск от имени администратора».

Когда вы запускете Windows PowerShell из другой программы, такой как Cmd.exe, используйте опцию «Run as administrator» при запуске программы.

Как настроить компьютер для удаленного доступа

Компьютеры под управлением всех поддерживаемых версий Windows, могут устанавливать удаленные подключения и выполнять удаленные команды в Windows PowerShell без предварительной конфигурации. Тем не менее, для получения соединения, и разрешения пользователям создавать локальные или удаленные сессии управления с помощь Windows PowerShell («сессии PSSession») и выполнять команды на локальном компьютере, необходимо включить удаленное взаимодействие Windows PowerShell на компьютере.

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

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

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

Чтобы настроить Windows PowerShell для получения удаленных команд:
1. Запустите Windows PowerShell с параметром «Запуск от имени администратора».
2. В командной строке введите:

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

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

Если команда не сработала, рекомендуется прочитать, about_Remote_Troubleshooting.

Определение политики

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

Перед тем как установить соединение действует политика локального компьютера. Когда произошло соединение действует политика на удалённом компьютере.

Комментарии:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *