• Save
PowerShell Web Access Руководство по использованию
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

PowerShell Web Access Руководство по использованию

on

  • 752 views

 

Statistics

Views

Total Views
752
Views on SlideShare
752
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

PowerShell Web Access Руководство по использованию Document Transcript

  • 1. ОглавлениеВведение .................................................................................................................................................3Установка.................................................................................................................................................3Системные требования PowerShell Web Access (PSWA)...............................................................................3Какустановить PowerShell Web Access через Server Manager .....................................................................4Установка через Powershell............................................................................................................................9Конфигурирование................................................................................................................................10PSWA и конфигурация шлюза ......................................................................................................................10Конфигурируем правила авторизации с PSWA...........................................................................................12Тестирование.........................................................................................................................................16Как протестировать приложение PSWA......................................................................................................16PowerShell Web Access: ограничения ..........................................................................................................24Настраиваем PowerShell Web Access “под себя”...................................................................................25Удаляем тестовые правила ..........................................................................................................................25Устанавливаем сертификат домена ............................................................................................................26Создаем правила домена в PSWA ...............................................................................................................28Тестируем правила в PowerShell Web Access..............................................................................................29PSWA: Что дальше? .......................................................................................................................................31
  • 2. Введение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
  • 3. ● .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.
  • 4. Рисунок 1. Выбор сервераЭто новый сервер, который я планирую использовать для других веб служб, такчто на экране SelectServerRoles я выберу WebServer.
  • 5. Рис. 2. Выбор веб-сервера (IIS)Если требуется, установить дополнительные элементы. НажмитеДалее.Прокрутите вниз до WindowsPowerShell и раскройте узел. ВыберитеWindowsPowerShellWebAccess.
  • 6. Рис. 3. ДобавляемфункцииWindows PowerShell (PSWA)В зависимости от текущей конфигурации, Вам может быть предложеноустановить дополнительные элементы. Когда вы доберетесь до IISfeatureconfigurationscreen, все, что вам нужно для PSWA, уже должно бытьотмечено.
  • 7. Рис. 4. Выбираем ролевые службы для установки на веб-сервер (IIS)Завершите установку или осуществите перезагрузку, если требуется.
  • 8. Рис. 5. Завершение установки PSWAчерез ServerManagerУстановка через PowershellТо же самое можно сделать через PowerShell. Запускаемкоманду.Add-WindowsFeature –name Web-Server,WindowsPowerShellWebAccess –computername chi-web01Если вы не устанавливаете Web-Server так, как я делаю, убедитесь, что выуточнили установку ManagementToolsAdd-WindowsFeature –name Web-Server,WindowsPowerShellWebAccess –computername chi-web01 -IncludeManagementTools
  • 9. Проверьте корректность установки, запустив Get-Windows, как показано ниже.Рис. 6. Проверяем корректность установки PSWAс помощью Get-WindowsКонфигурированиеВ этом разделе мы займемся конфигурированием шлюза и настройкой правилавторизации.PSWA и конфигурация шлюза
  • 10. Команды, необходимые для конфигурирования шлюза, можно запуститьнепосредственно на сервере, но я предпочитаю все сделать удаленно. Запустимудаленную PowerShell сессию на сервере (я работаю на машине под Windows 8).PS C:> enter-pssession CHI-WEB01(В нашем случае вместо CHI-WEB01 мы указываем имя нашего сервера –Прим. переводчика).Сейчас я осуществим настройку шлюза с использованием тестовогосертификата (self-signedtestcertificate). Потом сделаем так, чтобы сайт использовалвалидный сертификат.[chi-web01]: PS C:> Install-PswaWebApplication –usetestcertificateУказанная выше команда предполагает, что я не менял имя сайта поумолчанию (“DefaultWebSite”), равно как и имя приложения (“pswa”).На рисунке 7приведен результат.Рис. 7. Установка тестового сертификата
  • 11. Конфигурируем правила авторизации с PSWAПо умолчанию никто не обладает доступом к PowerShellWebAccess. Правилаавторизации должны быть заданы с помощью командлетаAdd-PswaAuthorizationRule. Он также должен быть запущен на веб-сервере, и явоспользуюсь текущей сессией. Уточняем имя пользователя или его группу, которымвы хотели бы предоставить доступ. Также необходимо уточнить имена компьютеров, ккоторым возможен удаленный доступ (можно использовать имя группы, котораясодержит учетные записи компьютеров) и назначить имя конфигурации.Конфигурация представляет собой имя удаленной конечной точки(remotingendpoint). Шлюз PSWA установить удаленное соединение с ней. ИспользуемGet-PSSessionConfigurationдля нумерования этих сессий.PS C:> invoke-command {get-pssessionconfiguration} -ComputerName chi-dc03На рисунке 8 показаны доступные конечные точки для сервера CHI-DC03.Рис 8. Конечные точки для сервера CHI-DC03
  • 12. Конфигурация сессии должна присутствовать на всех компьютерах, входящих вправило. Я собираюсь создать тестовое правило авторизации, используяконфигурацию 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 withpermissions to perform Active Directory queries.Если вы запускаете эту команду в интерактивной сессии на сервере (а неудаленной), то все должно нормально работать. Проблема заключается во второйретрансляции (hop). КомандлетуAdd-PSwaAuthorizationRuleнеобходимо установитьсвязь с контроллером домена, для которого по правилам безопасности (securitydesign)не разрешено находиться в состоянии PowerShellRemoting. Это ограничение второйретрансляции (second-hoplimitation) может быть преодолено с помощьюактивирования аутентификации CredSSP.Внимание: Этого не стоит делать “с налету”, так как имеются последствия длябезопасности, требуется предварительное исследование.Но в моем случае, так как я хочу использовать удаленный доступ, я выйду изудаленной сессии и активирую CredSSPнамоеймашинедлясервера CHI-WEB01.
  • 13. 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 -CredentialglobomanticsjeffКогда я запускаю команду авторизации, она работает так, как показано нарисунке 9.Рис. 9. Подтверждаем создание правила
  • 14. Я также могу проверить правило:[chi-web01]: PS C:>Get-PswaAuthorizationRuleId 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 -whatifWhat if: Performing operation "Remove-PswaAuthorizationRule"on Target "Rule TestRule 2 (ID: 1)".[chi-web01]: PS C:>Get-PswaAuthorizationRule"test rule 2" | Remove-PswaAuthorizationRule –force –whatifWhat if: Performing operation "Remove-PswaAuthorizationRule"on Target "Rule TestRule 2 (ID: 1)".То, что мы описали выше, можно сделать и через IIS менеджер. Но япредполагаю, что если вы решили настроить PowerShellWebAccess, вам комфортнее
  • 15. работать именно в PowerShell. Командлеты для конфигурирования должны бытьзапущены на том веб-сервере, на котором находится приложение PSWA. Вследующей части будет рассмотрено тестирование и использованиеPowerShellWebAccess..ТестированиеВ этом разделе мы будет тестировать использование PSWA на различныхустройствах (компьютер, планшет на Android).Как протестировать приложение PSWAДля начала откроем InternetExplorer и перейдем по адресу chi-web01/pswa.(Обратите внимание, что мы используем https.) Я указал имя сервера CHI-WEB01.Однако можно использовать и его IP адрес. Так как я использую тестовый сертификат,выводится предупреждение.
  • 16. Я выберу продолжить, так как мы тестируем приложение. Появляется экранвхода в приложение, вводим учетные данные.
  • 17. Обратите внимание на расширенные настройки соединения.
  • 18. Я буду использовать те, что заданы по умолчанию. Нажимаем SignIn и внутрибраузера запускаетсяPowerShell сессия.
  • 19. Вводим любую команду.По нажатию на стрелку History мы получаем доступ к введенным ранеекомандам. Шрифт можно увеличить через Ctrl+..Обратите внимание, что открыть новую вкладку и начать в ней новую сессию неполучится.
  • 20. Так, с удаленным подключением с компьютера все понятно, посмотрим, какдело обстоит с подключением с планшета.
  • 21. Так как я использую тестовый сертификат, опять появится предупреждения обезопасности. Когда мы будем использовать валидный сертификат на веб-сервере,Вам нужно будет развернуть его на тех устройства, которые не входят в домен, илиже просто не обращать внимания на предупреждения в браузере.Также вводим логин-пароль.Обратите внимание, что я подключаюсь через IP адресс. В зависимости отконфигурации мобильных устройств, можно использовать как его, так и адрес веб-сервера.
  • 22. Если вы используете мобильные устройства для работы с PSWA, то лучшевыучить сокращения командлетов (cmdletaliases).Для завершения сессии можно написать Exit и нажать Enter или же щелкнуть наSignOut.Последнее, что стоит протестировать – несанкционированный доступ.Установленное мною тестовое правило позволяет войти только пользователюGlobomanticsJeff. Даже если я использую учетную запись администратора, PSWAоткажет мне в доступе.
  • 23. PowerShellWebAccess: ограниченияУ веб-консоли PowerShell имеются свои ограничения. Во-первых, это всеголишь консоль. Вы не можете запускать графические приложения, например,PowerShell ISE или Блокнот. Помните, PSWA суть удаленная сессия, отображаемая вбраузере, так что у вас нет profilescript. Вы можете запускать инструменты команднойстроки, такие как Ping и Netstat, однако ничего интерактивного по типу nslookup илиnetsh вам не будет доступно.Наконец, сохранить сессию и запустить ее позже не получится. ИспользованиеPSWA аналогично использованию New-PSSession, так что, закрыв сессию, выпотеряете все, что создали (jobs, variables).
  • 24. Настраиваем PowerShellWebAccess “под себя”В этом разделе мы рассмотрим, как удалить тестовые правила, установитьсертификат домена, создадим правила домена для PSWA, протестируем их и вкратцеобозначим, что вообще можно делать дальше.Удаляем тестовые правилаДля начала я собираюсь удалить все созданные мною тестовые правила. Позжея настрою несколько правил для домена, но сейчас я собираюсь перепроверитьнастроенные правила с помощью командлетаInvoke-Command, чтобы удаленнозапустить команду на веб-сервере с работающим PSWA.PS C:> invoke-command {Get-PSwaAuthorizationRule} -comp chi-web01
  • 25. Все правила можно удалить, передав в 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).
  • 26. Сейчас я выберу httpsbinding и нажму Edit.
  • 27. На скриншоте выше я выбрал установленный мною сертификат 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 -CredentialglobomanticsjeffПервое правило, которое я создам, позволит членам группы DomainAdminsполучать доступ к любому компьютеру с использованием конечной точкиMicrosoft.PowerShell.[chi-web01]: PS C:> Add-PswaAuthorizationRule -rulenameDomainAdmins -usergroupname"globomanticsdomain admins" -computername * -configurationnamemicrosoft.powerShell -forceЭта команда предоставит доменным администраторам полный удаленныйдоступ к PowerShell.Также я хотел бы дать группе администраторов БД (DBA) доступ к SQL Server –но только к этому серверу.
  • 28. [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
  • 29. Когда вы создали новое правило, PSWA не пожалуется, что вы использовалидублирующиеся имена, равно как и не проверит любую информацию вы “понаписали”,разве что имя пользователя или группы в ActiveDirectory. Также отсутствует какой-либо командлет для того, чтобы модифицировать имеющиеся правила (например,если вы допустили ошибку), так что используйте Remove-PswaAuthorizationRuleдляудаления, а затем заново создавайте правило.Чтобы проверить правила, можно использовать Test-PswaAuthorizationRule.Уточните имя пользователя или группу и опционально имя конфигурации конечнойточки.[chi-web01]: PS C:> Test-PswaAuthorizationRule -username "globomanticsjeff" -computer chi-dc02Если будет найдено валидное правило, вывод будет следующим:Первые два правила проверены. Но вот последнее для ограниченной конечнойточки (то, что мы создали для нужд HelpDesk) не было проверено, так как ничего вответ не вернулось. Но я могу попробовать заново, только в этот раз я уточню имяконфигурации.
  • 30. [chi-web01]: PS C:> Test-PswaAuthorizationRule -username "globomanticsadeco" -computer * -configuration *На скриншоте ниже показано это правило.Однако позвольте прояснить: все, что мы делали сейчас, это проверялисуществование правила для заданного пользователя или группы. Оно не проверяеткорректность ввода конкретной точки, доступность сервера или наличие достаточныхправ у учетной записи. Вам необходимо отдельно (и вручную) протестировать все это,используя командлетEnter-PSSession. Если это работает здесь, это должно работатьв PowerShellWebAccess.PSWA: Что дальше?Естественно, перед тем как полноценно работать с PowerShellWebAccessнеобходимо какое-то время потренироваться и дополнительно что-нибудь почитать.Однако если Вы (или Ваши коллеги) уже используют PowerShellremoting,переключиться на PSWA оказывается не так сложно. Для компьютеров, входящих вдомен, все должно просто работать. Для всего другого Вы должны разобраться соследующими задачами:
  • 31. ● Сконфигурировать файл с хостами (hostsfile) на устройствах, не входящих вдомен, например, на планшетах, чтобы разрешить использование имени сервера сPSWA.● Установить доменный сертификат CA в качестве доверительного корневогоцентра сертификации на устройствах, не входящих в домен.● Настроить общий доступ к PSWA, так что вы можете удаленно управлятьсерверами откуда угодно.● Постоянно контролировать членство в группах, у которых есть права наудаленный доступ.Но, естественно, действия, которые необходимо предпринять, зависят отконкретной ситуации в конкретной организации.PowerShellWebAccess может быть очень мощным инструментов управления, нодля того, чтобы он таковым стал, необходимо потратить время на настройкудоменных правил и процедур. Используйте Test-PswaAuthorizationдля разрешенияпроблем с доступом. АEnter-PSSessionможно использовать для решения другихпроблем конфигурации.