главная    •    Новости    •    софт    •    RSS-ленты    •    реклама    •    PDA-Версия    •    Контакты
Windows XP     •    Windows 7    •    Windows 8    •    Windows 10   •    Windows Server     •    Железо
Полезные советы      •     Администрирование      •     Сеть      •     Безопасность      •     статьи
Реклама на сайте
Книга жалоб и предложений
Правила на сайте
О Winblog.ru и о копирайте
Написать в редакцию
Конфиденциальность
                       
  • Windows 10 Insider Preview: вышла сборка 14986
  • Windows 10 Creators Update сделают безопаснее для организаций
  • В Windows 10 будет поддержка шрифта Брайля
  • Выпуск тестовых сборок Windows 10 приостановлен
  • Специалисты, ответственные за администрирование среды Exchange, вероятно слышали о том, что выпускаемый вскоре сервер Exchange Server 2007 содержит новый интерфейс командной строки, называемый средой управления Exchange (Exchange Management Shell). Построенная на основе среды Microsoft Windows PowerShell, среда управления Exchange является мощным средством управления всеми функциями сервера Exchange Server 2007 из командной строки. Пользуясь командной строкой, можно непосредственно работать со средой управления Exchange, писать сценарии автоматизации или интегрировать собственные приложения с основным ядром. Рисунок 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


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

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

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


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

    ..\Exchange.ps1


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

    Управление с помощью среды управления Exchange
    Рис. 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.

    Управление с помощью среды управления Exchange
    Рис. 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 показано возможное представление результата.

    Управление с помощью среды управления Exchange
    Рис. 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 Help file по адресу go.microsoft.com (на английском языке), Windows Powershell scripting center по адресу go.microsoft.com (на английском языке), а также Exchange team blog по адресу msexchangeteam.com (на английском языке).

    Дэвид Строум (David Strome) работает в качестве составителя технической документации с группой подготовки пользователей Exchange в корпорации Майкрософт чуть более одного года. До того, как поступить на работу в корпорацию Майкрософт (Редмонд, штат Вашингтон), Дэвид в течение 10 лет занимался разработкой, реализацией и администрированием серверов Exchange в различных компаниях провинции Британская Колумбия (Канада). Отправить сообщение автору можно по адресуdstrome@microsoft.com...

    microsoft.com/technet/


    Оцените статью:
    Голосов 0

    Материалы по теме:
  • Скрипт для удаления и отключения атрибутов почтового ящика в Exchange 2007
  • Как обновить Active Directory, чтобы переориентировать почтовые ящики пользователей на сервер восстановления, на котором размещена база данных почтовых ящиков?
  • Exchange Queue — очередь за ответами
  • Введение в Windows.
  • Более мощные средства ведения журнала Exchange 2007


    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent

    Для отправки комментария, обязательно ответьте на вопрос

    Вопрос:
    Сколько будет пятнадцать минус пять?
    Ответ:*




    ВЕРСИЯ ДЛЯ PDA      СДЕЛАТЬ СТАРТОВОЙ    НАПИШИТЕ НАМ    РЕКЛАМА

    Copyright © 2006-2016 Winblog.ru All rights reserved.
    Права на статьи принадлежат их авторам. Копирование и использование материалов разрешается только в случае указания явной гиперссылки на веб-сайт winblog.ru, как на источник получения информации.
    Сайт для посетителей возрастом 18+