PowerShell Web Access: управление серверами из браузера

в 6:56, , рубрики: powershell, windows server 2012 r2, Блог компании Microsoft, системное администрирование

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

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 нужно выполнить три основных шага:

  1. Установить PowerShell Web Access
  2. Настроить шлюз
  3. Настроить правила авторизации и безопасности сайта

Далее подробное выполнение каждого из этих шагов я вам и опишу. Кстати, уже упоминалось, что в большинстве случаев настройку 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 Web Access: управление серверами из браузера
Также вы всегда можете воспользоваться альтернативным решением и использовать для установки не графический интерфейс, а командлет PowerShell (только не забудьте запустить PowerShell с правами Администратора):

Install-WindowsFeature –Name WindowsPowerShellWebAccess -ComputerName <computer_name> -IncludeManagementTools –Restart

PowerShell Web Access: управление серверами из браузера

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

PowerShell Web Access: управление серверами из браузера

3 Настройка правил авторизации и безопасности сайта

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

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

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

Надеюсь, что вы нашли в этой статье полезную для себя информацию, которую сможете применить в вашей работе.
Спасибо за внимание!

Полезные ссылки

Автор: m_berzin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js