Заметки о Windows и других программных продуктах Microsoft...

PowerShell Web Access в Windows Server 2012

PowerShell Web Access в Windows Server 2012

Разбираясь с Windows Server 2012 наткнулся на одну интересную фичу, которой стоит уделить отдельное внимание. Называется она Windows PowerShell Web Access и представляет из себя PowerShell шлюз, через который можно подключаться к удаленным серверам и работать с консолью PowerShell прямо в веб-браузере.

При этом все, что требуется для работы с PowerShell Web Access — это любое устройство (телефон, планшет и т.п.), имеющее доступ в интернет и браузер с поддержкой JavaScript и включенными cookies.

PowerShell WebAccess

Выглядит красиво, посмотрим, как это работает. В качестве примера организуем доступ к отдельно стоящем  серверу по имени Server2012. 

Шаг 1.

Устанавливаем компонент WindowsPowerShellWebAccess. Для этого открываем консоль PowerShell и вводим команду: 

Add-WindowsFeature -Name WindowsPowerShellWebAccess -IncludeManagementTools -Restart

Поскольку IIS по умолчанию устанавливается без средств управления, для установки IIS Manager указываем параметр -IncludeManagementTools, а ключ -Restart перезагрузит сервер при необходимости.

Шаг 2.

Устанавливаем веб-приложение PswaWebApplication:

Install-PswaWebApplication

Для тестовой среды можно указать ключ -UseTestCertificate. В этом случае будет создан самоподписанный сертификат сроком на 3 месяца.

Шаг 3.

По умолчанию все соединения запрещены и для подключения необходимо создать правила авторизации, в которых явно указать, кто и куда может подключаться. Делается это с помощью командлета Add-PswaAuthorizationRule, который имеет следующий вид:

Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName <session_configuration_name>

В тестовой среде для предоставления доступа всем пользователям со всех компьютеров можно просто ввести:

Add-PswaAuthorizationRule * * *

Мы поступим по другому и разрешим доступ группе локальных администраторов к компьютеру Server2012 с конфигурацией по умолчанию:

Add-PswaAuthorizationRule –UserGroupName Server2012\Administrators -ComputerName Server2012 -ConfigurationName Microsoft.PowerShell

 Установка PowerShell Web Access

 

Шаг 4.

Теперь нам надо настроить PowerShell Web Access на использование SSL сертификата. Открываем Диспетчер IIS  и в свойствах  сервера выбираем пункт «Сертификаты сервера». Здесь есть несколько вариантов:

  1. При установке веб-приложения указать ключ -UseTestCertificate;
  2. Создать самозаверенный сертификат в оснастке диспетчера IIS , выбрав одноименный пункт в меню справа;
  3. Обратиться в центр сертификации и получить нормальный сертификат, который затем и установить.

Первые два варианта подходят только для тестовой среды, поэтому выберем третий. Для этой цели я не поленился и поднял центр сертификации, в котором и запросил сертификат.

 установка сертификата сервера в IIS 8

 

Установив сертификат идем в настройки веб-сайта по умолчанию и выбираем пункт «Привязки». Указываем  тип подключения https и выбираем нужный SSL-сертификат.

настройка привязки сайта в IIS 8

 

Чтобы максимально защитить подключение можно включить использование сертификатов на стороне клиента. Для этого в свойствах веб-приложения выбираем параметры SSL  и отмечаем пункт «Требовать SSL». Имейте в виду, что в этом случае придется устанавливать сертификат на каждого клиента. 

использование SSL-сертификатов при подключении

 

На этом конфигурирование Windows PowerShell Web Access можно считать законченным. Подключаемся к шлюзу, набрав в строке адреса https://Server2012/pswa и вводим имя компьютера и свои учетные данные. Если учетные данные на шлюзе и на конечном сервере различаются, то задаем их в дополнительных параметрах подключения.

Подключение к шлюзу PowerShellWebAccess

 

Жмем на кнопку и попадаем в консоль PowerShell Web Access. Функционал ее аналогичнен стандартной оболочке PowerShell — автозавершение команд по Tab, стрелки вверх/вниз – прокрутка истории и т.д. Для завершения сеанса есть специальная кнопка «Выход».

консоль PowerShell Web Access

 

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

 
 
Комментарии

Ух, ты я пропустил эту фичу, хотя практического применения пока не нашел, ну только если работать с какого нить неWin компьютера.