В связи с переходом системы Exchange на управление через веб разработчики исключили из версии Exchange 2013 три «обучающие программы», входившие в состав панели управления Exchange 2010. В этой статье я расскажу о том, как с помощью реализованных в Exchange средств аудита администратора выяснить, какие именно команды центр администрирования Exchange Administration Center (EAC) выполняет в процессе решения тех или иных задач.

Если вы, как и я, сокрушаетесь по поводу решения разработчиков отказаться от трех установленных в версии Exchange 2013 «обучающих программ» в процессе перехода от консоли управления Exchange 2010 (Exchange management console, EMC) к новому центру администрирования EAC, реализованному в Exchange 2013, вас может в какой-то степени утешить мысль о том, что средства административного аудита могут отображать ряд тех же подробностей функционирования PowerShell, что и панель EMC.

Важно подчеркнуть, что оболочка PowerShell является основой всех средств управления Exchange. Поэтому если вы не знакомы с пакетом PowerShell или по меньшей мере не имеете хотя бы общего представления о наборе составных команд, реализованных в Exchange, вам будет трудно управлять работой сервера.

Общепризнано, что панель EMC имеет ряд недостатков (к примеру, она слишком медленно обрабатывает объекты, если их число переваливает за несколько сотен), но зато обладает одной восхитительной особенностью: эта панель раскрывает код PowerShell, выполняемый при совершении типичных действий, таких как формирование новых почтовых ящиков. В этом отношении центр EAC остается «бессловесным», поскольку инженеры Microsoft еще не разработали соответствующих функций. Возможно, это связано с тем, что отображение кода консолями на базе браузеров — более сложная техническая задача. Хотя, скорее всего, мы имеем дело с обычным «проколом»: вероятно, все внимание разработчиков EAC было поглощено более важными делами. Здесь стоит напомнить, что если в RTM-версии различные компоненты этого продукта были недостаточно плотно «притерты» друг к другу, то в последующих версиях ситуация заметно улучшилась, так что принятая разработчиками расстановка приоритетов вполне себя оправдала.

Средства административного аудита отслеживают действия, предпринимаемые администратором с помощью центра администрирования Exchange, а также на командной консоли управления Exchange Management Shell (EMS), и сохраняют полученные результаты в виде объектов в системном почтовом ящике. Все это осуществляется лишь после того как активируются средства аудита, а это настройка, действующая в масштабах всей организации. Для активации средств аудита выполните следующую команду EMS:

Set-AdminAuditLogConfig -AdminAuditLogEnabled $True

Проявляя обычную предусмотрительность, консоль EMS известит вас о том, что данная команда, возможно, не будет выполнена в пределах 60 минут. Это поправка на возможные задержки в процессе тиражирования Active Directory, которые будут минимальными в большинстве надлежащим образом обслуживаемых сетей.

Все это хорошо, но мы еще не приложили достаточных усилий для получения всей информации, которая, возможно, будет нам полезна. Как вы понимаете, изо дня в день внутри организации может происходить множество различных событий, и Exchange дает вам возможность осуществлять их фильтрацию. Для этого опять-таки нужно запустить команду Set-AdminAuditLogConfig, с тем чтобы объявить набор «интересных» команд или таких команд, сведения о которых система Exchange, согласно вашему замыслу, должна фиксировать всякий раз при их выполнении. Так, если вас интересуют только команды Set-Mailbox и New-Mailbox, запустите следующую команду:

Set-AdminAuditLogConfig -AdminAuditLogCmdlets -Set-Mailbox, New-Mailbox-

Другая возможность: для того чтобы получить информацию, так или иначе связанную с почтовыми ящиками, вы можете воспользоваться приведенной ниже командой, которая зафиксирует и события для составных команд, таких, как Enable-Mailbox или Disable-Mailbox.

Set-AdminAuditLogConfig -AdminAuditLogCmdlets -*-Mailbox-

А если вы хотите фиксировать все данные, запустите следующую команду:

Set-AdminAuditLogConfig -AdminAuditLogCmdlets -*-

Мы также можем задать параметры фиксируемой команды. Дабы обеспечить полноту получаемой информации, запускаем команду

Set-AdminAuditLogConfig -AdminAuditLogParameters -*-

Текущие настройки можно проверить с помощью команды Get-AdminAuditLogConfig.

Теперь, когда система Exchange поглощена записью данных, мы увидим, какая информация может быть получена, и проясним, можно ли извлечь нечто полезное из этих сведений. Откройте EAC и выполните какое-либо административное действие по своему желанию (если вам захотелось удалить почтовый ящик директора предприятия, знайте — это не совсем то, что я имею в виду). Покончив с этим, вернитесь к командной консоли управления Exchange и с помощью команды Search-AdminAuditLog определите, какие данные были записаны. Помните, что средства аудита могут выдать огромный массив данных, поэтому лучше всего запрашивать информацию за определенный период.

Search-AdminAuditLog -StartDate -03/25/2013 07:00- -EndDate -03/25/2013 08:00- | Sort RunDate | Format-Table RunDate, Caller, CmdletName, CmdletParameters -AutoSize

Так-так... Интересно. После обновления настроек журнала административного аудита мы видим набор из четырех составных команд, которые выполняются в одно и то же время. Смысл одной из этих команд мне понятен, поскольку это я создал новый почтовый ящик, чем и объясняется появление записи New-Mailbox. Три другие команды были запущены не мной, а системным процессом, что может озадачить читателей, если я не сообщу им, что в моей организации Exchange используется агент расширений команд, ответственный за окончательное оформление языковых и региональных настроек для новых почтовых ящиков. Exchange запускает агент расширений команд по завершении обработки New-Mailbox. Три команды, выполненные агентом, отображаются до команды New-Mailbox. Это обстоятельство объясняется тем, что сортировка осуществляется с точностью до секунды, а не миллисекунды.

Другие записи свидетельствуют о создании новой общедоступной папки и о начале поиска в почтовом ящике eDiscovery, а также иллюстрируют те повторяющиеся изо дня в день операционные действия, которые фиксируются в журнале администратора.

Если мы внимательно присмотримся к записи аудита, наше внимание привлекут использованные в данном случае параметры (для проведения таких исследований я обычно сбрасываю записи в особый текстовый файл). Пример:

ObjectModified: contoso.com/Exchange users/Stan Orme
CmdletName: New-Mailbox
CmdletParameters: {Name, FirstName, LastName, UserPrincipalName, Password, ResetPasswordOnNextLogon, OrganizationalUnit, Alias, DisplayName}
ModifiedProperties: {}
Caller: contoso.com/Exchange users/Tony Redmond
Succeeded: True
RunDate: 25/12/2013 07:50:19
OriginatingServer: EXSERVER2 (15.00.0775.038)

Средства административного аудита были созданы не для того, чтобы заменить интегрированные в EMC чрезвычайно полезные обучающие средства PowerShell. Так что замена получилась неадекватная. Однако просто удивительно, как часто умение извлечь те или иные сведения из системы Exchange оказывается полезным. Скажем, если бы я не рассказал вам об агенте расширений команд, а вы были бы новым администратором в моей организации, как бы вы обнаружили, что именно происходит за безмятежным, но не содержащим новой информации фасадом EAC?

Я слышал, что в этом направлении назревают какие-то перемены, и специалисты Microsoft, возможно, собираются предоставить пользователям более подробные сведения о том, как центр администрирования Exchange использует составные команды. Что ж, если такое случится, потребители будут только рады. А пока вы можете «заглянуть за кулисы» и составить об этом механизме хотя бы общее представление. Решение, конечно, не идеальное, но надо же с чего-то начинать.