Exchange 2010: Exchange Management Shell, часть II
Справка в любом нужном месте
Для Exchange 2010, отдел Microsoft Exchange User Education разработал набор документации, доступный как в Exchange Management Shell, так и в онлайне.
В Exchange Management Shell вы сможете ощутить всю ценность командлетов типа Get-Help в процессе работы и изучения. Поглядывайте также и в онлайновую версию справки. Она включает в себя описание всех возможностей Exchange и их применения в PowerShell.
Help in the Shell
Exchange Management Shell, командлет Get-Help используется для получения оглавления справочника по командам и форматам. Он может также пригодиться при выяснении параметров той или иной команды PowerShell
Для получения сведений об определенном командлете, впишите Get-Help и интересующий вас командлет, например Get-Help Get-SystemMessage. По умолчанию, справка Shell отображает целевой командлет, его описание и синтаксис.
Можно контролировать детальность информации, выдаваемой справкой, с помощью параметров -Detailed, -Full и -Example. Они просто приставляются в конец команды. Например Get-Help -Full возвращает все секции Help. Пробуйте сами с любой командой, сравнивайте результаты.
Если необходимо получить информацию об определенном параметре или параметрах командлета, можно использовать ключ -Parameters в справке. Например, если нужно получить список параметров, называющихся как-то типа “quota”, к командлету Set-Mailbox – впишите Get-Help Set-Mailbox -Parameter *quota*.
Раздел Getting Help онлайн справки Exchange Server 2010 перечисляет все роли, конпоненты и значения функций.
Отображение команд Shell в консоли EMC
Каждый раз, когда вы обновляете консоль, или изменяете объекты вроде почтовых ящиков — консоль Exchange Management Console исполняет команды PowerShell. EMC в Exchange 2010 имеет парочку новых функций, такие например как отображение конкретных команд, исполняемых вами в GUI.
Журналы Windows PowerShell Command Log фиксируют каждую команду Shell исполняемую при работе в консоли EMC. Журнал можно включить в любой момент после открытия EMC. Он остается открытым и продолжает фиксировать команды, пока вы не остановите запись, или не закроете EMC. Остается не забывать стартовать журнал, каждый раз, когда вам понадобятся записи действий EMC.
Журнал содержит следующую информацию о каждой записанной команде:
Start Execution Time : Время начала исполнения команды Exchange Management Shell.
End Execution Time : Время окончания исполнения команды.
Execution Status : Результат выполнения команды.
Command : Собственно сама команда, полностью – командлет, параметры и значения.
Для удобства, каждая выбранная в списке команда отображается в отдельном окне, ниже списка всех записанных команд. Если команда получала какие-либо данные на выходе, они тоже отображаются в окне подробной информации.
Журнал можно сохранить в отдельный файл, или скопировать отдельные команды в буфер, или Exchange Management Shell для запуска.
.jpg)
Журнал Windows PowerShell Command Log
Команду Exchange Management Shell можно отобразить теперь и при изменениях свойств объектов. Для этого необходимо кликнуть значок
после изменения каких-либо значений в Свойствах объекта. Открывшееся окно отобразит команду Exchange Management Shell со всеми нужными параметрами и значениями, как если бы вы выполняли ее самостоятельно в Shell. Полученную команду можно скопировать и сохранить, или запустить в Exchange Management Shell собственноручно.
В конечном итоге, все мастера консоли EMC выполняют команды EMS относительно тех или иных объектов Exchange. Теперь, в Exchange 2010 консоль стала еще более информативна, чем ранее, и отображает Shell команды практически везде. Это упрощает их запоминание, расширяет вашу памятку команд, и позволяет найти готовую или полуготовую командную конструкцию для дальнейшей автоматизации.
Форматирование вывода команд
По умолчанию, когда команда выдает результат на экран, Shell отображает неполный набор имеющихся свойств для каждого объекта. А почему? А потому, что многие объекты могут содержать десятки свойств, и Shell оптимизирует их отображение, выдавая в первую очередь только наиболее часто используемые значения. Однако, вы можете легко получить все или любые выбранные параметры объекта, применяя после самой команды ключи форматирования
«| Format-List«, он же «| fl«, он же «| list«,
«| Format-Table«, «| ft«, «| table» или
«| Format-Wide«, «| fw«, «| wide«.
«| Format-List» и «| Format-Table» являются наиболее популярными форматами отображения, так что давайте взглянем на них чуть подробнее.
| Format-List получает данные от команды по pipeline – «|«, и форматирует данные в виде списка всех свойств выбранного объекта. Можно указать, какие именно свойства вы хотите перечислить, используя ключ -Property. Если вы вызываете формат | Format-List без каких либо особенных заявленных свойств – выдаются все. | Format-List переносит строки, вместо их обрезки, как это делает | Format-Table по умолчанию. Одно из наиболее полезных применений | Format-List – это когда вы хотите детализировать выборку запрашиваемых параметров объекта в дальнейшей работе. Наример:
Get-DistributionGroup | Format-List Name, *OnlyFrom, PrimarySmtpAddress, *Size*
| Format-Table позволяет вам отобразить перечень объектов в виде таблицы, с именоваными заголовками колонок данных. По умолчанию, большинство из командлетов, такие как Get-Mailbox или Get-JournalRule используют именно табличный формат вывода данных. Среди прочих параметров форматирования в | Format-Table имеются -Properties и -GroupBy. Здесь они работают также как и в | Format-List. Для отображения длинных строк данных полностью, вместо обрезки их по умолчанию, в | Format-Table используется параметр «-Wrap«, как например:
Get-Mailbox -Database Research | Format-Table Name, ProhibitSendQuota, Database -Wrap
Часто можно также применять символ «*» с частью имени, как для | Format-List, так и для | Format-Table. При использовании символа «*«, можно получить множественные результаты, а не выписывать каждое свойсво отдельно. Например:
Get-Mailbox | Format-List Email*
— возвращает все свойства, с названиями начинающимися на Email.
Вот такие новшества органов управления Exchange, вкратце. Дальше будет больше.


Максим, здравствуйте
Когда-то проходил у вас курсы по Exchange 2007
В этой статье упоминается использование Справки, а так же упоминается одна из распространенных команд Get-MailboxDatabase. У меня как раз возник вопрос по синтаксису этой команды:
Как указано в описании этой каманды (http://technet.microsoft.com/ru-ru/library/bb124924.aspx), в параметре -Identity можно использовать значение «имя сервера\имя базы данных». Там же в примере приводится следующая запись:
Get-MailboxDatabase -Identity Server01\StorageGroup01\MailboxDatabase01 -Status | Format-List
В англоязычной статье тоже самое, как и в справке, выдаваемой PowerShell.
Собственно вопросы:
1) что значит StorageGroup1 в примере, когда понятие StorageGroup в Exchange 2010 нету?
2) как мне все-таки выполнить этот камандлет для базы MDB1 на среврере Server1 именно через -Identity (без использования -Server)? Запись типа server\database выдает ошибку о не правильном типе значения параметра.
Это относится так же к другим камандлетам, где используется схожая комбинация указания значения параметра (например камандлет New-MoveRequest параметр -TargetDatabase.
Спасибо.