http://habrahabr.ru/company/microsoft/blog/242863/
PowerShell – это один из основных инструментов, который может использовать системный администратор для выполнения настройки и для управления доменной сетью. Часто у системного администратора возникает необходимость удаленно подключиться к серверу и выполнить на нем определенные задачи. Конечно, можно использовать Remote Desktop, но этом случае администратор будет ограничен – не всегда можно легко и быстро удаленно подключиться к компьютеру, не всегда под рукой есть удобный компьютер. В этой статье я расскажу вам о возможности удаленного подключения с использованием PowerShell Web Access.

PowerShell позволяет с помощью специальных командлетов выполнить абсолютно все, что можно сделать в системе, используя графический интерфейс, а также то, что в графическом интерфейсе выполнить невозможно. Таким образом, PowerShell является универсальным средством управления.
Основное достоинство PowerShell Web Access заключается в том, что системный администратор может работать на сервере удаленно, используя самый обычный браузер. И предвидя возможные вопросы, под обычным браузером здесь подразумевается не только InternetExplorer, но и Safari, и Mozila Filefox, и Google Chrome.
Список поддерживаемых браузеров:- Windows® Internet Explorer® для Microsoft Windows® 8.0, 9.0, 10.0 и 11.0
- Mozilla Firefox® 10.0.2
- Google Chrome™ 17.0.963.56m для Windows
- Apple Safari® 5.1.2 для Windows
- Apple Safari 5.1.2 для Mac OS®
Для установки и настройки PowerShell Web Access нужно выполнить три основных шага:
- Установить PowerShell Web Access
- Настроить шлюз
- Настроить правила авторизации и безопасности сайта
Далее подробное выполнение каждого из этих шагов я вам и опишу. Кстати, уже упоминалось, что в большинстве случаев настройку Windows Server можно выполнять двумя способами – с помощью графического интерфейса и с помощью командлетов PowerShell.
1 Установка PowerShell Web Access
Сам процесс установки PowerShell Web Access довольно-таки обычен. Установить этот компонент можно как с помощью
Мастера установки ролей и компонентов сервера (
Add Roles and Features Wizard), так и с помощью командлета
PowerShell.
В
Мастере установки ролей и компонентов выбираем пункт
Компоненты (Features) и в нем устанавливаем дополнение для PowerShell –PowerShell Web Access. Для корректной работы PowerShell Web Access должна быть установлена роль веб-сервера (
Web Server Role — IIS), которая будет автоматически выбрана для инсталляции.

Также вы всегда можете воспользоваться альтернативным решением и использовать для установки не графический интерфейс, а командлет PowerShell (только не забудьте запустить PowerShell с правами Администратора):
Install-WindowsFeature –Name WindowsPowerShellWebAccess -ComputerName <computer_name> -IncludeManagementTools –Restart

Тем не менее, установка – это только первый шаг в настройке работы PowerShell Web Access.
2 Настройка шлюза
Настраивать шлюз необходимо на том сервере, на который была установлена роль PowerShell Web Access.
Для настройки PowerShell Web Access, можно использовать командлет
Install-PswaWebApplication. С помощью него вы установите веб приложения PowerShell Web Access на ваш сайт, созданный по умолчанию при установке IIS сервера. Путь по умолчанию к сайту выглядит следующим образом:
https://<имя_сервера>/pswa. Для изменения этого значения вы можете использовать параметр
WebApplicationName (если хотите изменить имя веб приложения –
pswa) и
WebSiteName (если хотите установить веб приложения на другой сайт). Также, для обеспечения безопасности вашей среды, необходимо использовать действительный сертификат, который подписан вашей службой Certification Authority. О том, как настроить SSL-сертификат в диспетчере служб IIS можно прочитать
здесь.

3 Настройка правил авторизации и безопасности сайта
После того, как вы установили PowerShell Web Access и настроили шлюз (установили веб приложение), ваши пользователи смогут открыть страницу входа в браузере, но не смогут выполнить вход. Причина в том, что пока мы не предоставили доступ нашим пользователям в явном виде. Важно отметить, что при проверке подлинности при авторизации в PowerShell Web Access доступ по умолчанию ограничен, а не разрешен. Т.е. если разрешение пользователю явно не выдано, то доступа к чему-либо у этого пользователя нет.
Добавить правила авторизации можно только с помощью командлетов PowerShell, графический интерфейс для этого не предусмотрен. Для добавления правила авторизации мы используем командлет
Add-PswaAuthorizationRule с различными параметрами, позволяющими указать имя пользователя, имя компьютера и т.д. (подробнее про командлеты для PowerShell Web Access
здесь):

Теперь пользователь может из браузера подключиться к PowerShell Web Access и начать работу. Причем подключиться вы можете к любому из серверов, если имеете соответствующее разрешение.

Сеанс PowerShell Web Access представляет собой командную строку PowerShell, с помощью которой вы можете удаленно управлять задачами на вашем сервере.
Еще одной интересной возможностью, предлагаемой PowerShell Web Access, является возможность сохранения сеансов и переподключения к ним с различных устройств (нажмите кнопку
«Save»). По умолчанию PowerShell Web Access ограничивает пользователя тремя одновременными сеансами.

Время ожидания сеансов PowerShell Web Access не вечно. Сообщение об истечении времени ожидания отображается для вошедшего пользователя через 15 минут отсутствия активности в сеансе. Если пользователь не отвечает в течение пяти минут после вывода сообщения об истечении времени ожидания, сеанс заканчивается, и пользователь выходит из системы. Значения по умолчанию для PowerShell Web Access можно изменить в параметрах веб-сайта в диспетчере служб IIS.
Отмечу, что так как PowerShell Web Access – это веб-консоль PowerShell для конкретного удаленного компьютера, то вы можете использовать только те командлеты или сценарии PowerShell, которые на этом удаленном компьютере доступны.
Чем отличается веб-консоль от локальной PowerShell? Большая часть базового функционала доступна, но отличия есть:
- При сообщении информации о ходе выполнения какой-либо задачи на экране отображается только конечный результат выполнения командлета (этапы выполнения не показываются)
- Фоновый и основной цвета изменить в веб-консоли нельзя
- PowerShell Web Access в своем интерфейсе не реализует ряд методов, например, любые команды, осуществляющие запись в консоль Windows
- PowerShell Web Access не поддерживает некоторые сочетания клавиш, во многих случаях потому, что эти клавиши зарезервированы для команд браузера
Кроме того, используя PowerShell Web Access вы попадаете под ряд ограничений:
- Двойное подключение — попытка подключиться ко второму удаленному компьютеру из существующего подключения
- PowerShell Web Access использует и имеет те же ограничения, что и удаленный сеанс Windows PowerShell
- Заполнение нажатием клавиши TAB не действует в сеансах, сконфигурированных для работы в ограниченном пространстве выполнения или в режиме NoLanguage, также не может быть запущена команда exit для завершения сеанса (для выхода нужно будет нажать соответствующую кнопку на странице консоли)
- PowerShell Web Access допускает только одно подключение к удаленному компьютеру в рамках одного сеанса браузера; нельзя выполнить один вход и подключиться к нескольким удаленным компьютерам, используя отдельные вкладки браузера
- При бездействии сеанса шлюза PowerShell Web Access удаленное подключение между шлюзом и конечным компьютером закрывается. При этом прекращается выполнение всех командлетов или сценариев. Поэтому для выполнения длительных задач рекомендуется использовать PowerShell.
Надеюсь, что вы нашли в этой статье полезную для себя информацию, которую сможете применить в вашей работе.
Спасибо за внимание!
Полезные ссылки