Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Exchange Server Exchange Server 2007 Управление с помощью среды управления Exchange RSS

Управление с помощью среды управления Exchange

Текущий рейтинг: 3.6 (проголосовало 10)
 Посетителей: 3892 | Просмотров: 5196 (сегодня 0)  Шрифт: - +

Специалисты, ответственные за администрирование среды Exchange, вероятно, слышали о том, что выпускаемый вскоре сервер Exchange Server 2007 содержит новый интерфейс командной строки, называемый средой управления Exchange. Построенная на основе среды Microsoft Windows PowerShell,

среда управления Exchange является мощным средством управления всеми функциями сервера Exchange Server 2007 из командной строки. Пользуясь командной строкой, можно непосредственно работать со средой управления Exchange, писать сценарии автоматизации или интегрировать собственные приложения с основным ядром. Рисунок 1 показывает работу среды.

Рис. 1 Среда управления Exchange
Рис. 1 Среда управления Exchange

Консоль управления Exchange не просто использует среду управления Exchange для выполнения операций, в ней имеются также мастера, показывающие выполняемые команды. Можно скопировать команды, создаваемые с помощью мастеров, и вставить их непосредственно в командную строку или сценарий. После внесения в параметры необходимых изменений рекомендуется проверить сценарии или команды с помощью параметра WhatIf (что если), который позволяет увидеть результаты до внесения изменений в среду.

Среда управления Exchange предоставляет надежную и гибкую платформу для создания сценариев, которую можно объединить с уже имеющимися средствами создания сценариев, и позволяет производить обмен данными с такими источниками данных, как COM и инструментарий управления Windows (WMI), на их собственном языке команд. Для принятия и возврата структурированных данных вместо обычного текста в среде управления Exchange, основанной на платформе .NET Framework, используются командлеты — элементарные функциональные единицы среды управления Exchange. Более подробные сведения о командлетах будут приведены ниже.


Оснастка среды Windows PowerShell

Первым шагом в освоении среды управления Exchange является изучение того, как она связана со средой Windows PowerShell™, новым мощным и гибким интерфейсом командной строки на основе платформы .NET Framework. Эта среда объединяет лучшие качества нескольких других оболочек, а также содержит много новых возможностей. Среда Windows PowerShell предназначена для размещения других приложений, что во многом аналогично тому, как консоль управления (MMC) служит для размещения различных оснасток, поставляемых вместе с приложениями. Среда управления Exchange станет первой оснасткой, выпущенной для среды Windows PowerShell.

Оснастки — это коллекции командлетов, используемые для управления приложением или крупным компонентом. Для использования их необходимо предварительно загрузить. К счастью, процедура запуска оснастки среды управления Exchange чрезвычайно проста. Однако прежде следует рассмотреть некоторые важные моменты, которые нужно понимать при чтении данной статьи и работе в среде управления Exchange.

Командлеты. Командлеты похожи на встроенные команды в других оболочках, например команду dir в оболочке cmd.exe. Как и эти знакомые команды, командлеты могут вызываться непосредственно из командной строки в среде управления Exchange и выполняться в контексте среды, а не в качестве отдельного процесса. Командлеты, в отличие от команд других оболочек, имеют описательные имена, состоящие из глагола и существительного. Глагол описывает действие, выполняемое командлетом, а существительное описывает компонент или свойство, над которым это действие производится.

Таким образом, пользователю не нужно пытаться угадать, что делает командлет. Название командлета Move-Mailbox (переместить почтовый ящик) точно говорит о его назначении.

Чтобы понять, чем командлеты отличаются от обычных команд, прочитайте статью в боковой панели «Cmdlets vs. Commands» (командлеты и команды) раздела .NET Framework 3.0 пакета SDK Windows® по адресу: windowssdk.msdn.microsoft.com/en-us/library/ms714395.aspx (на английском языке).

Параметр Identity and Positional Parameter (параметр идентификации и позиции). Параметр Identity может использоваться с большинством командлетов, относящихся к серверу Exchange. Данный параметр предоставляет доступ к уникальным идентификаторам, обозначающим определенные объекты сервера Exchange Server 2007, предоставляя возможность осуществления действий над отдельными объектами Exchange с помощью уникального значения по выбору пользователя.

Параметр Identity является коллекцией значений других параметров. Данные значения уникальны в пределах всего множества объектов. Можно задать значения указанных других параметров, например Name (имя) и DistinguishedName (различающееся имя), либо их значения могут назначаться системой, как в случае идентификатора GUID. Дополнительные параметры (в случае их использования), а также их значения зависят от объекта, параметры которого необходимо указать.

Параметр Identity считается позиционным параметром, поскольку его значение можно задать без указания имени. Параметр является позиционным, если его атрибут Parameter Position (позиция параметра) является целым числом. Это число указывает, на какой позиции в командной строке командлета находится значение данного параметра. В силу того что параметр Identity является позиционным и расположен в позиции 0, являющейся самой первой позицией, любое значение, введенное в эту позицию без имени параметра, считается значением параметра Identity. Это позволяет уменьшить количество нажатий клавиш, необходимых для ввода команд. Например,

Get-Mailbox –Identity "Kim Akers" 

выполняет то же действие, что и

Get-Mailbox "Kim Akers"

Pipelining (конвейерная обработка). Конвейерная обработка в среде управления Exchange — это такая организация работы, при которой один командлет использует при выполнении своей операции выходные данные другого командлета. Конвейерная обработка осуществляется путем использования символа «|». Все командлеты, в названия которых входят различные глаголы, но одно и то же существительное, могут использовать информацию, получаемую друг от друга по конвейеру. Некоторые наборы командлетов с определенным существительным в названии позволяют передавать данные через конвейер командлетам с другими существительными.

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


Запуск среды управления Exchange

Самый простой способ загрузить эту среду — нажать кнопку «Пуск», выбрать команду «Программы», затем выбрать команду Microsoft Exchange Server 2007, а затем щелкнуть пункт «Среда управления Exchange».

Второй способ загрузки оснастки среды управления Exchange состоит в ручном запуске из сеанса Windows PowerShell. Нажмите кнопку Start, выберите команду Programs и щелкните пункт Windows PowerShell. После того как среда Windows PowerShell запустится, для загрузки среды управления Exchange выполните следующую команду:

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin

Существуют некоторые различия между загрузкой оснастки среды управления Exchange с помощью меню "Программы" и запуском вручную с помощью командлета Add-PSSnapin. При использовании для запуска пункта меню «Программы» происходит не только загрузка оснастки среды управления Exchange, но также и запуск сценария среды Windows PowerShell для настройки пользовательской среды управления Exchange. Чтобы настроить аналогичную среду управления после загрузки среды управления Exchange, произведенной вручную, следует перейти в подкаталог bin каталога, где установлен Exchange, например, C:\Program Files\Microsoft\Exchange Server\Bin. Затем необходимо ввести следующую команду:

..\Exchange.ps1

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

Рис. 2 Приветствие среды управления Exchange
Рис. 2 Приветствие среды управления Exchange

С чего начать

Поскольку среда имеет обширный состав командлетов, чрезвычайно полезными ресурсами являются командлет Get-Help (показать справку) и файл справки Exchange Server 2007. Раздел «Operations» (Операции) файла справки Exchange Server 2007 содержит десятки инструкций, охватывающих выполнение большинства административных задач.

При вводе командлета Get-Help без параметров на экран выводятся общие сведения об использовании функции справки. Для получения справки о конкретном командлете введите Get-Help, а затем название командлета, о котором необходимо получить сведения. Составом выводимых сведений можно управлять с помощью параметров Detailed (подробно), Full (полностью) и Example (пример). Данные параметры добавляются в конце команды. Например, команда Get-Help название командлета –Full выдает все имеющиеся разделы справки по данному командлету.

Использование командлета Get-Help с параметром Parameters (параметры) позволяет получить сведения о конкретном параметре или нескольких параметрах какого-либо командлета. Так, для просмотра тех параметров командлета Set-Mailbox, которые содержат слово "quota", и их описаний следует использовать следующую команду:

Get-Help Set-Mailbox –Parameter *quota*

Может потребоваться просмотреть список командлетов, управляющих какой-то ролью сервера или свойством компонента или влияющих на ряд объектов в рамках определенных функций. Командлет Get-Help позволяет сделать это с помощью трех параметров — Role (роль), Component (компонент) и Functionality (функция). При использовании данного командлета с приведенными параметрами их значения необходимо заключить в подстановочные символы — звездочки (*). Ниже приведены примеры вызова командлета Get-Help с каждым из этих параметров:

Get-Help -Role *Mailbox*
Get-Help -Component *Recipient*
Get-Help -Functionality *Server*

Дополнительные сведения приведены в разделе «Getting Help» файла справки Exchange Server 2007. Файл справки содержит полный список возможных значений параметров role, component и functionality.


Выходные данные команды Formatting (формат)

По умолчанию при выводе результатов на экран среда управления Exchange отображает только часть доступных свойств каждого объекта. Однако доступ ко всем свойствам нетрудно получить, передавая с помощью конвейерной обработки выходные данные команды следующим трем командлетам форматирования: Format-List (форматировать список), Format-Table (форматировать таблицу) и Format-Wide (форматировать во всю ширину). Можно предположить, что необходимость в использовании командлетов Format-List и Format-Table будет возникать регулярно, поэтому рассмотрим их подробнее.

Командлет Format-List получает входные данные с конвейера и выдает результат в виде списка с вертикальными столбцами, содержащими все указанные свойства каждого объекта. Выбрать свойства, подлежащие отображению, можно с помощью параметра Property (свойство). Следует отметить, что параметр Property является позиционным, то есть необходимо задавать лишь значения, а не само имя параметра. Если вызов командлета Format-List производится без задания каких-либо параметров, в результате его выполнения отображаются все свойства. Данный командлет вместо усечения строк производит их перенос. Одним из оптимальных вариантов использования Format-List является переопределение стандартного вида выходных данных командлета таким образом, чтобы получить дополнительные или более конкретные сведения. Например:

Get-DistributionGroup | Format-List Name, *OnlyFrom, 
PrimarySmtpAddress, *Size*

На рис. 3 показан результат выполнения этой команды.

Рис. 3 Пример результата выполнения командлета Format-List
Рис. 3 Пример результата выполнения командлета Format-List

Командлет Format-Table позволяет вывести элементы на экран в формате таблицы, снабженной заголовками, где данные о свойствах располагаются в столбцах. По умолчанию многие командлеты, такие как Get-Mailbox (получить почтовый ящик) и Get-JournalRule (получить правило журнала), выводят результаты в формате таблицы. Среди параметров командлета Format-Table содержатся параметры Properties (свойства) и GroupBy (группировать по). Использование данных параметров идентично их использованию с командлетом Format-List. Чтобы на экране окончания строк не отсекались, а отображались полностью, используйте параметр Wrap (перенести), как показано ниже:

Get-Mailbox –Database Research | Format-Table Name, 
ProhibitSendQuota, Database –Wrap 

Результат показан на рис. 4.

Рис. 4 Пример результата выполнения Format-Table»
Рис. 4 Пример результата выполнения Format-Table»

Использование в параметре командлета подстановочного символа позволяет задать несколько свойств без необходимости ввода каждого свойства в отдельности. Например, приведенная ниже команда возвращает все свойства, начинающиеся с Email.

Get-Mailbox | Format-List Email* 

            


Практические занятия

Теперь, рассмотрев несколько основных команд, разберем приведенные ниже примеры. Они иллюстрируют широкие возможности и гибкость среды управления Exchange и позволяют получить некоторые практические навыки.

Первая команда создает 10 пользователей с именами User1 — User10:

1..10 | ForEach { Net User "User" MyPassword=01 /ADD 
/Domain; Enable-Mailbox "User" -Database "Mailbox 
Database" }

Разберем этот пример. Команда 1..10 выводит целые числа от 1 до 10 и передает их через конвейер командлету ForEach (для каждого). Командлет ForEach обрабатывает каждый объект при его получении, выполняя для каждого объекта набор команд, заключенных в фигурные скобки. Команда Net User (сетевой пользователь) создает нового пользователя домена, а командлет Enable-Mailbox (включить почтовый ящик) создает на локальном сервере новый почтовый ящик в базе данных Mailbox Database (база данных почтовых ящиков). Эти две команды разделены точкой с запятой, поэтому могут быть помещены в одну командную строку. Переменная $_ является специальной переменной, содержащей значение текущего объекта конвейера. В данном примере переменная $_ содержит целое число, которое в данный момент обрабатывается конвейером.

Следующий пример позволяет просмотреть содержимое почтовых ящиков, размещенных на сервере с именем MBX, и возвращает значения свойств Name (имя), Mailbox Database (база данных почтовых ящиков) и quota (квота) для каждого из почтовых ящиков.

Get-Mailbox –Server MBX | Format-Table 
Name,Database,*quota*

Командлет Get-Mailbox возвращает все почтовые ящики, заданные с помощью параметра Server (сервер), и передает выходные данные для каждого из почтовых ящиков через конвейер командлету Format-Table. По умолчанию Format-Table отображает все свойства, возвращаемые командлетом, если только не заданы конкретные свойства, которые нужно отобразить. В данном случае запрашиваются только свойства Name и Database, а также все свойства, содержащие строку quota. На рис. 5 показано возможное представление результата.

Рис. 5 Результат выполнения команды Get-Mailbox
Рис. 5 Результат выполнения команды Get-Mailbox

В следующем примере устанавливается квота на отправку в размере 600 МБ для всех пользователей организации, которые имеют электронную почту и в названии должности которых входит слово «Manager» (менеджер).

Get-User –Filter { Title –Like "*Manager*"} 
–RecipientTypeDetails UserMailbox | Set-Mailbox 
–ProhibitSendQuota 600MB

Выполняющийся без параметров командлет Get-User (получить пользователя) возвращает всех пользователей в службе каталогов Active Directory, включая пользователей, не имеющих почтовых ящиков. Для получения множества пользователей, которое может быть использовано командлетом Set-Mailbox, необходимо указать командлету Get-User, что нужно выдать лишь те объекты из службы каталогов Active Directory, которые соответствуют пользователям, имеющим электронную почту. Параметр RecipientTypeDetails (сведения о типе получателя) позволяет задать тип получателя, зарегистрированного в Active Directory, в данном случае это UserMailbox (почтовый ящик пользователя). Затем необходимо получить множество пользователей, являющихся менеджерами и имеющих почтовые ящики. В данном примере производится заполнение свойства Title (должность) всех объектов пользователей службы каталогов Active Directory. Для определения того, какие пользователи являются менеджерами, данное значение можно использовать с параметром Filter (фильтр), который дает серверу команду возвратить только те объекты службы каталогов Active Directory, которые соответствуют заданным критериям. Это называется фильтрацией на стороне сервера. Полученный набор объектов передается командлету Set-Mailbox, который устанавливает для каждого почтового ящика свойство ProhibitSendQuota (квота запрета отправки) равным 600 МБ.

Теперь произведем проверку результатов выполнения команды удаления всех почтовых ящиков, являющихся членами группы рассылки. Вот эта команда:

Get-DistributionGroupMember "Fourth Year Students" |
 Where { .RecipientType –Eq "UserMailbox" } | Remove-
 Mailbox -WhatIf

Первый командлет возвращает объекты получателей, являющихся членами группы рассылки «Fourth Year Students» (студенты четвертого курса). Затем командлету Remove-Mailbox (удалить почтовый ящик) передаются лишь те объекты получателей, которые соответствуют значению UserMailbox (почтовый ящик пользователя) параметра RecipientType (тип получателя). Вместо удаления почтовых ящиков командлет Remove-Mailbox выведет на экран предполагаемое действие, а также объекты, над которыми предполагалось его выполнение. Командлет Get-DistributionGroupMember (получить членов группы рассылки) возвращает список объектов получателей, являющихся членами группы рассылки «Fourth Year Students». Однако, поскольку командлет Remove-Mailbox работает только с пользователями, имеющими электронную почту, необходимо отфильтровать все типы получателей, за исключением UserMailbox. В отличие от некоторых других командлетов Get-DistributionGroupMember не имеет командлета Filter, что означает, что он не может выполнять фильтрацию на стороне сервера. Для командлетов, которые не могут выполнять фильтрацию на стороне сервера (в связи с отсутствием преимуществ в производительности), можно использовать командлет Where (где) для выполнения фильтрации на стороне клиента. Этот командлет извлекает все объекты и производит фильтрацию на локальном клиентском компьютере. Командлет Where пропускает только те объекты, которые соответствуют заданным критерям. Объекты, у которых тип пользователя RecipientType равен UserMailbox, передаются командлету Remove-Mailbox. Данный командлет удаляет объект пользователя службы каталогов Active Directory и помечает почтовый ящик для удаления. При использовании параметра WhatIf командлет Remove-Mailbox отображает подобный текст:

What if: Removing the Mailbox "contoso.com/Users
/user10" will remove the Windows user object and mark 
the mailbox in the database for removal.

При получении удовлетворительных результатов предполагаемого выполнения команды можно выполнить ее вновь без параметра WhatIf. Для некоторых командлетов, таких как командлеты, содержащие в названии глагол «Remove» (удалить), перед выполнением каких-либо изменений среда автоматически запросит подтверждение. Пользователю предоставляется возможность пройти изменения по шагам, либо дать среде команду не запрашивать подтверждение, либо отменить дальнейшую обработку. При использовании командлетов, по умолчанию не выдающих запрос подтверждения, можно включить режим подтверждения с помощью параметра Confirm (подтвердить).


Заключение

Теперь, после демонстрации возможностей использования командлетов, можно приступить к самостоятельным экспериментам, чтобы убедиться в том, насколько средства среды управления Exchange и Microsoft Windows PowerShell могут быть полезны при решении задач управления системами. Дополнительные сведения по данному вопросу можно получить, обратившись к следующим источникам. Дополнительные сведения о среде управления Exchange см. в файле справки по Exchange Server 2007 по адресу go.microsoft.com/fwlink/?LinkId=69434 (на английском языке), в центре сценариев Windows Powershell по адресу go.microsoft.com/fwlink/?LinkId=71134 (на английском языке), а также в блоге группы разработчиков Exchange team blog по адресу msexchangeteam.com (на английском языке).

Автор: Дэвид Строум (David Strome)  •  Иcточник: TechNet Maagazine, TechNet Russia  •  Опубликована: 25.12.2006
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.