MyTetra Share
Делитесь знаниями!
Администрирование Windows Server 2008 R2 через Power Shell
Время создания: 27.04.2015 12:07
Раздел: Компьютер - Windows - Windows Power Shell
Запись: xintrea/mytetra_syncro/master/base/14301256261ayc476xa6/text.html на raw.github.com

Администрирование Windows Server 2008 R2


Windows Server 2008 R2 поставляется с множеством оснасток и модулей Windows PowerShell, разработанных для того, чтобы облегчить административную работу по управлению различными функциями Windows Server 2008 R2. Изучение этих оснасток и модулей даст вам возможность автоматизировать выполнение многих задач, связанных с Windows Server 2008 R2, а также позволит получить дополнительный опыт в использовании самой оболочки Windows PowerShell, ее ключевых командлетов и прочих техник, рассмотренных ранее в этом курсе.


Обзор модулей Windows Server® 2008 R2

Иногда одного знания о существовании того или иного инструмента бывает достаточно для того, чтобы сэкономить массу времени. Особенно это справедливо для Windows PowerShell: если вы знаете, что инструмент или возможность реально существует, такие функции как Help или командлет Get-Member помогут быстро получить информацию об особенностях использования данного инструмента или возможности. Цель данного урока – познакомить вас с многообразием модулей и оснасток, доступных в Windows Server 2008 R2. Обратите внимание, что некоторые из этих модулей и оснасток также доступны в Windows® 7, в частности, после установки Remote Server Administration Toolkit (RSAT). Модули и оснастки в Windows 7 и Windows Server 2008 R2 обычно работают идентично – функциональных различий между модулем, установленным на клиентском компьютере и тем же модулем, установленным на серверном компьютере практически нет.

Модули Windows Server 2008 R2 устанавливаются в папку модулей Windows PowerShell в масштабе всей системы. Чтобы посмотреть содержимое папки модулей внутри Windows PowerShell, наберите следующую команду:

Cd $pshome\modules

Также Windows PowerShell определяет переменную среды, которая содержит пути, по которым оболочка будет находить расположение модулей. Содержимое этой переменной среды можно посмотреть, набрав команду:

Get-Content env:psmodulepath

Также вы можете сгенерировать список установленных модулей, набрав команду:

Get-Module -list

Большинство расширений Windows PowerShell, включенных в Windows Server 2008 R2, представлено в виде модулей, однако, некоторые из них представлены в виде оснасток. Чтобы просмотреть список установленных оснасток, запустите команду:

Get-PSSnapin –registered

Обратите внимание, что не все модули и оснастки установлены в Windows Server 2008 R2 по умолчанию. Как правило, модуль или оснастка устанавливается одновременно с установкой соответствующей функции или роли. Например, модуль ActiveDirectory обычно устанавливается одновременно с установкой роли the Active Directory® Domain Services. Поэтому, в типичной производственной среде могут наблюдаться некоторые расхождения между модулями, установленными на разных серверах, так как на каждом сервере установлен индивидуальный набор ролей и функций.

Также не забывайте, что вам не нужно копировать или устанавливать одни и те же модули на каждый компьютер в вашем окружении. Некоторые модули, например, работают только на Windows Server 2008 R2, и при копировании на Windows 7 или на любой клиентский компьютер они просто не будут функционировать. Одна из задач обучения удаленному управлению, рассмотренная ранее, заключается в том, чтобы научиться использовать модули и оснастки, расположенные на удаленных компьютерах.

Модули и оснастки, включенные в Windows Server 2008 R2, могут относиться к следующим функциям и ролям:

• Active Directory Domain Services (AD DS)

• Active Directory Rights Management Services (AD RMS)

• AppLocker (Application ID Policy Management)

• Best Practices Analyzer

• Background Intelligent Transfer Service (BITS)

• Group Policy and Group Policy objects (GPOs)

• Network Load Balancing

• Windows PowerShell Diagnostics (PSDiagnostics)

• Remote Desktop Services

• Server Manager

• Server Migration

• Troubleshooting Packs

• Web Administration (Internet Information Services)

• Web Services for Management (WS-MAN)

• Windows Cluster Service (Failover Clusters)

• Windows Server Backup

Помимо этого, управление некоторыми функциями Windows Server 2008 R2 может осуществляться с использованием сторонних модулей и оснасток. Например, http://pshyperv.codeplex.com/ является открытым источником командлетов, разработанных, чтобы облегчить управление установками Microsoft Hyper-V.


Использование модулей

Чтобы добавить модуль в оболочку, используйте командлет Import-Module и имя модуля. Обратите внимание, что модули остаются загруженными в продолжение всей текущей сессии работы оболочки, если только вы не используете командлет Remove-Module для их удаления. Просмотреть список загруженных на данный момент модулей можно с помощью командлета running Get-Module. Не забывайте, что все загруженные модули исчезают при завершении сеанса работы оболочки и не загружаются автоматически при начале следующей сессии. С помощью командлета Import-Module в профильном сценарии (мы рассмотрим его позже) можно автоматически загружать те модули, которые нужны вам для работы постоянно. Например:

Import-Module ActiveDirectory

Когда модуль загружен, можно просмотреть список командлетов, которые были добавлены, используя Get-Command:

Get-Command –module ActiveDirectory

Некоторые модули также добавляют новых провайдеров PSDrive. Просмотреть список всех установленных провайдеров можно с помощью командлета Get- PSProvider.

Некоторые расширения Windows Server 2008 R2, например, Windows Server Backup представлены не в виде модулей, а в виде оснасток. Загрузить их можно, используя командлет Add- PSSnapin и полное имя оснастки. Так же, как и модули, они остаются загруженными в продолжение текущей сессии работы оболочки. Чтобы увидеть, какие командлеты были добавлены в результате загрузки оснасток, запустите команду:

Get-Command –pssnapin snap-in-name

Большинство расширений, поставляемых Microsoft, имеют стандартный для Windows PowerShell файл «help». Следовательно, после загрузки модуля или оснастки вы можете с помощью Get-Command уточнить, какие командлеты были добавлены, а затем найти в справочном файле информацию об их предназначении и особенностях использования.


Командлеты Server Manager

Модуль Server Manager является базовым. Он включает всего три командлета, один из которых генерирует список всех доступных функций, указывая, какие из них установлены. Два других предназначены для добавления и удаления функций.

Список всех доступных ролей и функций, создаваемый командлетом Get-WindowsFeature, содержит официальные имена всех ролей и функций. Эти имена следует использовать и с командлетами Add-WindowsFeature и Remove-WindowsFeature для добавления или удаления функций.

Несмотря на то, что выходные данные командлета Get-WindowsFeature выглядят как хорошо отформатированный текстовый список, в действительности это набор объектов, так же, как выходные данные любого командлета в оболочке. Предустановленный элемент View, включенный в модуль ServerManager, форматирует эти объекты и выводит на экран в виде иерархичного списка. Однако это форматирование происходит только в самом конце конвейера. Это означает, что вы можете передавать эти объекты по конвейеру другим командлетам, чтобы манипулировать ими или выводить в виде отдельного файла.

Если вас интересует конструкция модуля, запустите сначала cd $pshome/modules/servermanager, затем gc servermanager.psd1, а после ls. Вы увидите содержимое модуля ServerManager, а именно его бинарный файл, файл справки в формате XML и значение вида .format.ps1xml. Содержимое будет представлять собой просто список компонентов, так что оболочка «знает», как загрузить их все.

Модуль GroupPolicy включает командлеты для создания, резервного копирования, хранения объектов групповой политики (Group Policy) и манипулирования ими и ссылками GPO (Group Policy Objects) внутри домена.


GPO командлеты

Group Policy состоит из двух различных компонентов:

• Файл GPO, который постоянно хранится на диске, содержащий настройки GPO.

• Канал связи между GPO и контейнером, сайтом, организационной единицей или доменом. Этот канал связи указывает, какие пользователи и компьютеры испытывают воздействие GPO.

Всестороннее изучение особенностей работы GPO лежит за пределами данного курса, хотя, если вы являетесь опытным администратором Windows Server, вы должны уже знать, как они работают. Для работы с GPO существует три основных командлета:

• Get-GPO: Извлекает существующие GPO, обычно по имени.

• New-GPO: Создает новый GPO.

• Remove-GPO: Удаляет GPO.

С помощью других командлетов можно осуществлять такие функции как переименование, резервное копирование и хранение GPO. К командлетам, предназначенным для работы с линками GPO, относятся:

• New-GPLink

• Remove-GPLink

• Set-GPLink

Помимо этого, существуют командлеты для работы с настройками наследования политик, с результирующей групповой политикой (RSoP) и с индивидуальными настройками внутри GPO. Например, Set-GPPrefRegistryValue и Set- GPRegistryValue позволяют изменять индивидуальные настройки внутри GPO. Принцип работы с GPO с помощью оболочки во многом схож с принципом работы с помощью Group Policy Management Console.

1. Начните с выбора существующего или создания нового GPO.

2. Измените одну или несколько настроек или настроек реестра внутри GPO.

3. Соедините GPO с одним или несколькими местами в домене.

Вспомнив процедуру работы в графической консоли, вы быстрее запомните последовательность команд, необходимых для выполнения тех же самых задач с помощью командной строки. Также рекомендуется потратить некоторое время на изучение командлетов, добавляемых модулем GroupPolicy. Некоторые командлеты умеют производить отчеты в HTML-формате, управлять разрешениями GPO и многое другое. Для того, чтобы узнать больше о возможностях всех предлагаемых командлетов и ознакомиться с примерами их использования, прочитайте соответствующий рздел справочника.


Командлеты TroubleshootingPack

Модуль TroubleshootingPack содержит командлеты, которые управляют Windows Troubleshooting Packs из командной строки. Эти командлеты не только обеспечивают удобный способ автоматизации расширения Troubleshooting Pack, но и позволяют через Windows PowerShell Remoting связаться с удаленным сервером или клиентскими компьютерами и запустить Troubleshooting Packs на них. Пакеты Troubleshooting представляют собой новую функцию Windows 7 и Windows Server 2008 R2, которая обеспечивает интерактивную диагностику и последующее решение проблем.

Модуль TroubleshootingPack содержит всего два командлета:

• Get-TroubleshootingPack загружает пакет troubleshooting pack с диска.

• Invoke-TroubleshootingPack выполняет загруженный пакет troubleshooting.

Чтобы загрузить пакет, необходимо знать путь к нему. Большинство пакетов устанавливаются в \Windows\Diagnostics\System, поэтому, можно запустить такую команду:

Get-TroubleshootingPack c:\windows\diagnostics\system\aero

Также вы можете просмотреть директорию c:\windows\diagnostics для поиска установленных на компьютер пакетов. Обратите внимание, что набор траблшутеров на разных компьютерах будет различаться – он зависит от версии операционной системы, установленных ролей и функций и.т.д. После того, как вы загрузили пакет Troubleshooting, вы можете передавать его по конвейеру командлету Invoke-TroubleshootingPack для начала процесса решения проблем. Многие пакеты являются интерактивными и предлагают меню в виде командной строки, которую можно использовать для уточнения проблемы. Пакеты можно автоматизировать с помощью создания файла ответов в XTML. Информацию о том, как создать такой файл, вы найдете в разделе справочника, посвященном Get-TroubleshootingPack. После настройки файла ответов в соответствии с вашими потребностями (используя Windows Notepad или Windows PowerShell ISE), вы можете применять параметры –unattend и –answer командлета Invoke- TroubleshootingPack, чтобы диагностика проблем осуществлялась в автоматическом режиме. Хорошим сценарием будет использование Windows PowerShell 1-к-1 для обеспечения совместимости на удаленном компьютере. Это позволяет выполнять поиск проблем на удаленном компьютере, даже в то время, когда пользователь входит в систему на этом компьютере. Данная техника позволяет осуществлять поиск и решение проблем удаленных пользователей.


BPA командлеты

Модуль BestPractices включает командлеты, предназначенные для создания и изучения отчетов Best Practices Analyzer (BPA).

BPA – это функция Windows Server 2008 R2, предназначенная для анализа конфигураций ролей и функций, установленных на сервере и их сравнения с рекомендованными Microsoft конфигурациями. Используя командлеты BPA, вы сможете автоматизировать создание и анализ BPA отчетов, таким образом, поддерживая оптимальную конфигурацию сервера для большей надежности и работоспособности.

Командлеты BPA работают с моделями BPA. Каждая модель представляет собой набор рекомендаций, имеющих отношение к определенной функции или роли сервера. Запуск командлета Get-BpaModel без указания каких-либо параметров позволяет получить список доступных моделей. Этот список может варьироваться в зависимости от того,какие функции и роли установлены на сервер. В списке отображается официальный ID каждой модели. ID может понадобиться для извлечения конкретной модели с целью ее выполнения.

После того, как вы извлекли одну или несколько моделей, вы можете передать их командлету Invoke-BpaModel для их выполнения и создания отчета BPA. Отчеты BPA отображаются не моментально. Они передаются на хранение в операционную систему, откуда их необходимо извлекать. Для этого используйте командлет Get-BpaResult, уточнив ID той BPA модели, результаты для которой вы хотите просмотреть. Конечно, результатов не будет до тех пор, пока данная модель не будет извлечена.

Результаты возвращаются не в виде текстового списка. Как и почти все остальное в оболочке, результаты BPA представляют собой набор объектов, которые вы можете сортировать, фильтровать, и.т.д., а также экспортировать их в файл или конвертировать в другие форматы, например, HTML. Детальные инструкции по использованию командлетов BPA содержатся в соответствующем разделе справочника.


IIS командлеты

Модуль WebAdministration включает 74 командлета, большая часть которых используется для выполнения сложных IIS задач высокого уровня, таких как создание веб-сайтов, FTP-сайтов, приложений и пр. Также они позволяют запускать, останавливать или перезапускать сайт или пул. Более детальная информация об особенностях использования этих командлетов содержится в соответствующих разделах справочника.

Однако большая часть настроек конфигурации IIS в рамках Windows PowerShell не выполняется с помощью этих командлетов. Вместо этого модель, созданная разработчиками IIS, основывается на использовании IIS: диска.

Один из ключевых фактов об IIS 7.5 (версия, вошедшая в состав Windows Server 2008 R2) заключается в том, что она обладает модульной структурой. Это означает, что в IIS можно добавить новые функции посредством установки дополнительных программных модулей и других дополнений через консоль Server Manager или из интернета (например, с сайта http://iis.net).

Так как версии установленных IIS могут слегка отличаться друг от друга, за счет разных дополнений и разных возможностей, было бы довольно сложно создать единый набор командлетов для управления всеми возможными вариантами конфигурации. Поэтому, разработчики IIS создали командлеты для управления ключевыми, неизменными элементами, которые поддерживает любой сервер IIS: пулы приложений, веб-сайты, FTP сайты и.т.д.

Детальная настройка конфигурации сервера и его сайтов, пулов и других элементов осуществляется с помощью иерархического IIS диска, который выглядит и работает во многом как обычный жесткий диск или диск реестра, который отображается в Windows PowerShell. Например, верхний уровень IIS диска содержит три папки:

AppPools

Sites

SslBindings

Папка AppPools содержит сконфигурированные пулы приложений, такие как:

PS IIS:\> cd apppools

PS IIS:\apppools> ls

Name                                    State                  Applications

----                                        -----                  ------------

Classic .NET AppPool          Started

DefaultAppPool                    Started              Default Web Site

Далее вы можете изменить директорию на один из этих пулов с помощью команды:

PS IIS:\apppools> cd defaultapppool

PS IIS:\AppPools\defaultapppool> ls

Name

----

WorkerProcesses

Дальнейшая навигация по иерархичной системе осуществляется таким же образом. Обратите внимание, что в действительности вы не используете диск – вместо него вы имеете дело с хранилищем параметров конфигурации, которое выполнено в виде диска. PSDrive провайдер, входящий в состав модуля WebAdministration, отвечает за придание этому хранилищу формы обычного диска. Вы используете командлеты –Item и –ChildItem для навигации по хранилищу, извлекаете существующие значения конфигурации и вносите изменения в эти значения.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования