Перспективы использования геосоциальных сервисов в маркетинговой деятельности...
PowerShell Web Access Руководство по использованию
1.
2. Оглавление
Введение .................................................................................................................................................3
Установка.................................................................................................................................................3
Системные требования PowerShell Web Access (PSWA)...............................................................................3
Какустановить PowerShell Web Access через Server Manager .....................................................................4
Установка через Powershell............................................................................................................................9
Конфигурирование................................................................................................................................10
PSWA и конфигурация шлюза ......................................................................................................................10
Конфигурируем правила авторизации с PSWA...........................................................................................12
Тестирование.........................................................................................................................................16
Как протестировать приложение PSWA......................................................................................................16
PowerShell Web Access: ограничения ..........................................................................................................24
Настраиваем PowerShell Web Access “под себя”...................................................................................25
Удаляем тестовые правила ..........................................................................................................................25
Устанавливаем сертификат домена ............................................................................................................26
Создаем правила домена в PSWA ...............................................................................................................28
Тестируем правила в PowerShell Web Access..............................................................................................29
PSWA: Что дальше? .......................................................................................................................................31
3. Введение
PowerShell v3 дает новые возможности, которые будут полезны всем тем, кто
работает с ним. Одной из новых функций является PowerShellWebAccess,
позволяющий осуществлять удаленное управление серверами практически с любого
устройства. В данном руководстве будут рассмотрены основные моменты установки
PSWA, его первоначального конфигурирования и «настройки под себя» для
использования в домене. Автор приводит различные способы работы с PSWA (как
через ServerManager, так и непосредственно с помощью PowerShellv3), что позволяет
выбрать удобный вариант работы с этим приложением.
Установка
Начиная с версии 2, в WindowsPowerShell появились возможности удаленного
управления. В третьей версии эти возможности стали еще шире: теперь сервером
можно управлять удаленно, например, с планшета или смартфона – PowerShell
сессии могут быть установлены попросту через браузер.
Для начала рассмотрим, как установить PowerShellWebAccess. Удаленное
управление серверами с помощью PowerShellWebAccess реализуется через интернет-
шлюз. Создается защищенное соединение к удаленной конечной точке (endpoint),
которую вы назначите. (Конфигурация будет рассмотрена в отдельной статье). Через
браузере также можно делегировать права удаленного управления отдельным
пользователям и группам. Рекомендую осуществлять установку в доменной среде.
Системные требования PowerShellWebAccess (PSWA)
PowerShellWebAccess (PSWA) запускается как IIS приложение на
WindowsServer 2012. Вам потребуются следущие службы ролей или функции:
● IIS ManagementConsole
● ASP .NET 4.5
● ISAP Extensions
● ISAP Filters
4. ● .NET Extensibility 4.5
● Defaultdocument
● HTTP Errors
● HTTP Redirection
● StaticContent
● RequestFiltering
Но не думайте, что вам все это нужно будет установить перед началом работы.
Когда Вы установите PSWA, Windows предложит установить требуемые или
недостающие компоненты. Также позже вам потребуется веб-сертификат для шлюза.
Но об этом позже.
На стороне клиента, вам, естественно, потребуется браузер. Какие браузеры
поддерживаются:
● InternetExplorer 8 и выше
● MozillaFirefox
● GoogleChrome для Windows
● AppleSafari для Windows
● AppleSafari для Mac OS
Лучше всего, конечно, использовать последнюю версию браузера. Необходимо
возможность запускать Javascript и принимать куки на сервере шлюза.
Какустановить PowerShell Web Access через Server Manager
Установка PSWA возможна как через ServerManager, так с помощью PowerShell.
В Server Manager запуститеRemote Server Administration Tools
(RSAT)ивыберитеManage – Add Roles and Features. Я собираюсь установить службу
на CHI-WEB01 с моего рабочего стола Windows 8. В появившемся мастере, выберите
установку на основе ролей (role-based) или на основе функций (feature-based).
Выберите сервер для конфигурирования, как показано на рисунке 1.
5. Рисунок 1. Выбор сервера
Это новый сервер, который я планирую использовать для других веб служб, так
что на экране SelectServerRoles я выберу WebServer.
6. Рис. 2. Выбор веб-сервера (IIS)
Если требуется, установить дополнительные элементы. НажмитеДалее.
Прокрутите вниз до WindowsPowerShell и раскройте узел. Выберите
WindowsPowerShellWebAccess.
7. Рис. 3. ДобавляемфункцииWindows PowerShell (PSWA)
В зависимости от текущей конфигурации, Вам может быть предложено
установить дополнительные элементы. Когда вы доберетесь до IIS
featureconfigurationscreen, все, что вам нужно для PSWA, уже должно быть
отмечено.
8. Рис. 4. Выбираем ролевые службы для установки на веб-сервер (IIS)
Завершите установку или осуществите перезагрузку, если требуется.
9. Рис. 5. Завершение установки PSWAчерез ServerManager
Установка через Powershell
То же самое можно сделать через PowerShell. Запускаемкоманду.
Add-WindowsFeature –name Web-Server,WindowsPowerShellWebAccess –
computername chi-web01
Если вы не устанавливаете Web-Server так, как я делаю, убедитесь, что вы
уточнили установку ManagementTools
Add-WindowsFeature –name Web-Server,WindowsPowerShellWebAccess –
computername chi-web01 -IncludeManagementTools
10. Проверьте корректность установки, запустив Get-Windows, как показано ниже.
Рис. 6. Проверяем корректность установки PSWAс помощью Get-Windows
Конфигурирование
В этом разделе мы займемся конфигурированием шлюза и настройкой правил
авторизации.
PSWA и конфигурация шлюза
11. Команды, необходимые для конфигурирования шлюза, можно запустить
непосредственно на сервере, но я предпочитаю все сделать удаленно. Запустим
удаленную PowerShell сессию на сервере (я работаю на машине под Windows 8).
PS C:> enter-pssession CHI-WEB01
(В нашем случае вместо CHI-WEB01 мы указываем имя нашего сервера –
Прим. переводчика).
Сейчас я осуществим настройку шлюза с использованием тестового
сертификата (self-signedtestcertificate). Потом сделаем так, чтобы сайт использовал
валидный сертификат.
[chi-web01]: PS C:> Install-PswaWebApplication –usetestcertificate
Указанная выше команда предполагает, что я не менял имя сайта по
умолчанию (“DefaultWebSite”), равно как и имя приложения (“pswa”).На рисунке 7
приведен результат.
Рис. 7. Установка тестового сертификата
12. Конфигурируем правила авторизации с PSWA
По умолчанию никто не обладает доступом к PowerShellWebAccess. Правила
авторизации должны быть заданы с помощью командлетаAdd-
PswaAuthorizationRule. Он также должен быть запущен на веб-сервере, и я
воспользуюсь текущей сессией. Уточняем имя пользователя или его группу, которым
вы хотели бы предоставить доступ. Также необходимо уточнить имена компьютеров, к
которым возможен удаленный доступ (можно использовать имя группы, которая
содержит учетные записи компьютеров) и назначить имя конфигурации.
Конфигурация представляет собой имя удаленной конечной точки
(remotingendpoint). Шлюз PSWA установить удаленное соединение с ней. Используем
Get-PSSessionConfigurationдля нумерования этих сессий.
PS C:> invoke-command {get-pssessionconfiguration} -ComputerName chi-dc03
На рисунке 8 показаны доступные конечные точки для сервера CHI-DC03.
Рис 8. Конечные точки для сервера CHI-DC03
13. Конфигурация сессии должна присутствовать на всех компьютерах, входящих в
правило. Я собираюсь создать тестовое правило авторизации, используя
конфигурацию Microsoft.PowerShell. По сути это конечная точка, к которой вы
получаете удаленный доступ. Также Вы можете задать имя правила, что я и сейчас и
сделаю.
[chi-web01]: PS C:> Add-PswaAuthorizationRule -rulename"Test Rule 1" -
computername chi-dc03 -username globomanticsjeff -configuration microsoft.powershell
В качестве имени правила было выбрано «TestRule 1», Вы, конечно, можете
любое другое.
Обратите также внимание на формат имени пользователя, которому выдаются
права. В данном случае мы используем globomanticsjeff.
Если Вы пробуете сделать это на новой системе, Вы, скорее всего, получите
следующую ошибку:
Add-PswaAuthorizationRule : This command must be run by a user account with
permissions to perform Active Directory queries.
Если вы запускаете эту команду в интерактивной сессии на сервере (а не
удаленной), то все должно нормально работать. Проблема заключается во второй
ретрансляции (hop). КомандлетуAdd-PSwaAuthorizationRuleнеобходимо установить
связь с контроллером домена, для которого по правилам безопасности (securitydesign)
не разрешено находиться в состоянии PowerShellRemoting. Это ограничение второй
ретрансляции (second-hoplimitation) может быть преодолено с помощью
активирования аутентификации CredSSP.
Внимание: Этого не стоит делать “с налету”, так как имеются последствия для
безопасности, требуется предварительное исследование.
Но в моем случае, так как я хочу использовать удаленный доступ, я выйду из
удаленной сессии и активирую CredSSPнамоеймашинедлясервера CHI-WEB01.
14. PS C:> Enable-WSManCredSSP -DelegateComputer chi-web01 -Role Client
Активировали, теперь переключаемся на возможности сервера.
PS C:> invoke-command {enable-wsmancredssp -Role Server -Force} -
ComputerName chi-web01
Сделав это заново запускаем удаленное соединение, уточняющее CredSSP и
мои параметры доступа.
PS C:> enter-pssession chi-web01 -Authentication Credssp -Credential
globomanticsjeff
Когда я запускаю команду авторизации, она работает так, как показано на
рисунке 9.
Рис. 9. Подтверждаем создание правила
15. Я также могу проверить правило:
[chi-web01]: PS C:>Get-PswaAuthorizationRule
Id RuleName User Destination ConfigurationName
-- -------- ---- ----------- -----------------
0 Test Rule 1globomanticsjeffglobomanticschi... microsoft.powers...
Вы можете добавить сколько угодно правил авторизации. Можно получать
доступ к машине с PowerShell v2, если на ней включен удаленный доступ. Например,
добавимправилодляконтроллерадоменас PowerShell v2.
[chi-web01]: PS C:> Add-PswaAuthorizationRule -rulename"Test Rule 2" -
computername chi-dc02 -username globomanticsjeff -configuration microsoft.powershell –
force
Для удаления правила используйте Remove-PwaAuthorizationRule. Уточните
правило по id или объекту правила.
[chi-web01]: PS C:> Remove-PswaAuthorizationRule -id 1 -whatif
What if: Performing operation "Remove-PswaAuthorizationRule"on Target "Rule 'Test
Rule 2' (ID: 1)".
[chi-web01]: PS C:>Get-PswaAuthorizationRule"test rule 2" | Remove-
PswaAuthorizationRule –force –whatif
What if: Performing operation "Remove-PswaAuthorizationRule"on Target "Rule 'Test
Rule 2' (ID: 1)".
То, что мы описали выше, можно сделать и через IIS менеджер. Но я
предполагаю, что если вы решили настроить PowerShellWebAccess, вам комфортнее
16. работать именно в PowerShell. Командлеты для конфигурирования должны быть
запущены на том веб-сервере, на котором находится приложение PSWA. В
следующей части будет рассмотрено тестирование и использование
PowerShellWebAccess..
Тестирование
В этом разделе мы будет тестировать использование PSWA на различных
устройствах (компьютер, планшет на Android).
Как протестировать приложение PSWA
Для начала откроем InternetExplorer и перейдем по адресу chi-web01/pswa.
(Обратите внимание, что мы используем https.) Я указал имя сервера CHI-WEB01.
Однако можно использовать и его IP адрес. Так как я использую тестовый сертификат,
выводится предупреждение.
17. Я выберу продолжить, так как мы тестируем приложение. Появляется экран
входа в приложение, вводим учетные данные.
19. Я буду использовать те, что заданы по умолчанию. Нажимаем SignIn и внутри
браузера запускаетсяPowerShell сессия.
20. Вводим любую команду.
По нажатию на стрелку History мы получаем доступ к введенным ранее
командам. Шрифт можно увеличить через Ctrl+..
Обратите внимание, что открыть новую вкладку и начать в ней новую сессию не
получится.
21. Так, с удаленным подключением с компьютера все понятно, посмотрим, как
дело обстоит с подключением с планшета.
22. Так как я использую тестовый сертификат, опять появится предупреждения о
безопасности. Когда мы будем использовать валидный сертификат на веб-сервере,
Вам нужно будет развернуть его на тех устройства, которые не входят в домен, или
же просто не обращать внимания на предупреждения в браузере.
Также вводим логин-пароль.
Обратите внимание, что я подключаюсь через IP адресс. В зависимости от
конфигурации мобильных устройств, можно использовать как его, так и адрес веб-
сервера.
23. Если вы используете мобильные устройства для работы с PSWA, то лучше
выучить сокращения командлетов (cmdletaliases).
Для завершения сессии можно написать Exit и нажать Enter или же щелкнуть на
SignOut.
Последнее, что стоит протестировать – несанкционированный доступ.
Установленное мною тестовое правило позволяет войти только пользователю
GlobomanticsJeff. Даже если я использую учетную запись администратора, PSWA
откажет мне в доступе.
24. PowerShellWebAccess: ограничения
У веб-консоли PowerShell имеются свои ограничения. Во-первых, это всего
лишь консоль. Вы не можете запускать графические приложения, например,
PowerShell ISE или Блокнот. Помните, PSWA суть удаленная сессия, отображаемая в
браузере, так что у вас нет profilescript. Вы можете запускать инструменты командной
строки, такие как Ping и Netstat, однако ничего интерактивного по типу nslookup или
netsh вам не будет доступно.
Наконец, сохранить сессию и запустить ее позже не получится. Использование
PSWA аналогично использованию New-PSSession, так что, закрыв сессию, вы
потеряете все, что создали (jobs, variables).
25. Настраиваем PowerShellWebAccess “под себя”
В этом разделе мы рассмотрим, как удалить тестовые правила, установить
сертификат домена, создадим правила домена для PSWA, протестируем их и вкратце
обозначим, что вообще можно делать дальше.
Удаляем тестовые правила
Для начала я собираюсь удалить все созданные мною тестовые правила. Позже
я настрою несколько правил для домена, но сейчас я собираюсь перепроверить
настроенные правила с помощью командлетаInvoke-Command, чтобы удаленно
запустить команду на веб-сервере с работающим PSWA.
PS C:> invoke-command {Get-PSwaAuthorizationRule} -comp chi-web01
26. Все правила можно удалить, передав в Remove-PswaAuthorizationrule.
PS C:> invoke-command {Get-PSwaAuthorizationRule | Remove-
PSwaAuthorizationRule -force } -comp chi-web01
Шлюз PSWA все равно будет запущен, однако никто не сможет его
использовать, пока мы не зададим новые правила.
Устанавливаем сертификат домена
Сначала мы установили PowerShellWebAccess с использованием тестового
сертификата для SSL. Мне нужно переконфигурировать эту веб-службу для
использования валидного сертификата из моей службы сертификации домена
(domaincertificateservice). Хотя управление IIS можно осуществлять через PowerShell,
однако проще это сделать с помощью графических инструментов управления IIS.
Внимание: В зависимости от того как вы изначально настроили веб-сервер, вам может
потребоваться установить IIS ManagementTools, IIS ManagementService и
сконфигурировать сервер для осуществления удаленного управления.
На сервере CHI-WEB01 я установлю сертификат веб-сервера, выпущенный
центром сертификации (CA) моего домена. Необходимо адаптировать привязки к
сайту (sitebindings) для использования этого сертификата. В IIS Manager я выберу
сайт и отредактирую привязки (bindings).
28. На скриншоте выше я выбрал установленный мною сертификат CHI-WEB01.
Затем открываем браузер и переходим на https://chi-web01/pswa/en-US/logon.aspx.
Никаких предупреждений безопасности не проявилось.
Все то же самое можно сделать сразу же при конфигурировании PSWA.
ЗапуститеInstall-PswaWebApplicationна веб-сервере и затем вручную
сконфигурируйте сертификат. Но вы захотите также настроить SSL сертификат,
трастовый для пользователей в вашем домене.
Создаем правила домена в PSWA
На следующем этапе создаем необходимые правила авторизации. Эти правила
должны быть установлены на веб-сервере. Я буду использовать удаленное
управление (remoting) с Credssp, так как команде понадобится осуществить
повторное подключение (secondhop) для доступа к ActiveDirectory.
PS C:> enter-pssession chi-web01 -Authentication Credssp -Credential
globomanticsjeff
Первое правило, которое я создам, позволит членам группы DomainAdmins
получать доступ к любому компьютеру с использованием конечной точки
Microsoft.PowerShell.
[chi-web01]: PS C:> Add-PswaAuthorizationRule -rulenameDomainAdmins -
usergroupname"globomanticsdomain admins" -computername * -
configurationnamemicrosoft.powerShell -force
Эта команда предоставит доменным администраторам полный удаленный
доступ к PowerShell.
Также я хотел бы дать группе администраторов БД (DBA) доступ к SQL Server –
но только к этому серверу.
29. [chi-web01]: PS C:> Add-PswaAuthorizationRule -rulename SQLDBA -
usergroupname"globomanticschicagodba" -computername CHI-DB01 -
configurationnamemicrosoft.powerShell -force
Последнее правило, которое я создаем,- предустановленная ограниченная
конечная точка (pre-establishedconstrainedendpoint). Эта конечная точка, на CHI-FP01,
позволит пользователям, входящим в группу HelpDesk, решать проблемы с файлами
и папками, используя PowerShell.
[chi-web01]: PS C:> Add-PswaAuthorizationRule -rulenameHelpDesk -
usergroupname"globomanticshelp desk" -computername CHI-FP01 -
configurationnameFileMgmt -force
Теперь в PSWA есть три правила. Взглянемнаних.
[chi-web01]: PS C:>get-PswaAuthorizationRule
Вывод можно посмотреть на скриншоте ниже.
Тестируем правила в PowerShellWebAccess
30. Когда вы создали новое правило, PSWA не пожалуется, что вы использовали
дублирующиеся имена, равно как и не проверит любую информацию вы “понаписали”,
разве что имя пользователя или группы в ActiveDirectory. Также отсутствует какой-
либо командлет для того, чтобы модифицировать имеющиеся правила (например,
если вы допустили ошибку), так что используйте Remove-PswaAuthorizationRuleдля
удаления, а затем заново создавайте правило.
Чтобы проверить правила, можно использовать Test-PswaAuthorizationRule.
Уточните имя пользователя или группу и опционально имя конфигурации конечной
точки.
[chi-web01]: PS C:> Test-PswaAuthorizationRule -username "globomanticsjeff" -
computer chi-dc02
Если будет найдено валидное правило, вывод будет следующим:
Первые два правила проверены. Но вот последнее для ограниченной конечной
точки (то, что мы создали для нужд HelpDesk) не было проверено, так как ничего в
ответ не вернулось. Но я могу попробовать заново, только в этот раз я уточню имя
конфигурации.
31. [chi-web01]: PS C:> Test-PswaAuthorizationRule -username "globomanticsadeco" -
computer * -configuration *
На скриншоте ниже показано это правило.
Однако позвольте прояснить: все, что мы делали сейчас, это проверяли
существование правила для заданного пользователя или группы. Оно не проверяет
корректность ввода конкретной точки, доступность сервера или наличие достаточных
прав у учетной записи. Вам необходимо отдельно (и вручную) протестировать все это,
используя командлетEnter-PSSession. Если это работает здесь, это должно работать
в PowerShellWebAccess.
PSWA: Что дальше?
Естественно, перед тем как полноценно работать с PowerShellWebAccess
необходимо какое-то время потренироваться и дополнительно что-нибудь почитать.
Однако если Вы (или Ваши коллеги) уже используют PowerShellremoting,
переключиться на PSWA оказывается не так сложно. Для компьютеров, входящих в
домен, все должно просто работать. Для всего другого Вы должны разобраться со
следующими задачами:
32. ● Сконфигурировать файл с хостами (hostsfile) на устройствах, не входящих в
домен, например, на планшетах, чтобы разрешить использование имени сервера с
PSWA.
● Установить доменный сертификат CA в качестве доверительного корневого
центра сертификации на устройствах, не входящих в домен.
● Настроить общий доступ к PSWA, так что вы можете удаленно управлять
серверами откуда угодно.
● Постоянно контролировать членство в группах, у которых есть права на
удаленный доступ.
Но, естественно, действия, которые необходимо предпринять, зависят от
конкретной ситуации в конкретной организации.
PowerShellWebAccess может быть очень мощным инструментов управления, но
для того, чтобы он таковым стал, необходимо потратить время на настройку
доменных правил и процедур. Используйте Test-PswaAuthorizationдля разрешения
проблем с доступом. АEnter-PSSessionможно использовать для решения других
проблем конфигурации.