Get-MailboxStatistics vs. PS script

Периодически приходится писать крипты, автоматизирующие те или иные действия администратора. Иногда это бывает обычный сбор информации. Иногда это внесение изменений в конфигурацию/учётные записи, связанные с наступлением тех или иных событий. Тонкость возникает там, где необходимо работать с объектами Exchange. обычно, для этого достаточно в скрипте импортировать оснастку PS Microsoft.Exchange.Management.PowerShell.E2010 (Excahnge 2010): Однако, в случае, когда […]

Exchange: опять считаем пользователей

Следующий сценарий родился в процессе миграции пользователей с одного из сторонних почтовиков. Итак, у нас имеется набор почтовых ящиков, которые созданы для миграции со стороннего почтового решения. В некоторый момент времени к стандартным smtp-адресам (например, domain.com) добавляются smtp-адреса, которые находятся у пользователей во внешней почтовой системе (например, домен domain.net). Так как изначально процесс не сильно […]

Enable-MailPublicFolder и ACL

В очередной раз натолкнулся на проблему некорректной отработки RBAC в случае работы с общими папками. Стоит задача – делегировать права на заведение mail-enabled общих папок. То есть по факту, на командлет Enable-MailPublicFolder. Право на запуск этого командлета делегировано всего одной роли: По идее, достаточно назначить эту роль группе ролей, в которую будет входить нужный нам […]

Exchange 2010: общие папки и Send-As продолжение

Как я написал в предыдущей заметке, для решения проблемы с невозможностью выдачи права Send-As необходимо менять владельца объекта общей папки в Active Directory. Эта задача скучная и нудная, особенно, если у нас имеется несколько сотен/тысяч таких объектов. Нам в её решении поможет PowerShell. Для начала, имеет смысл выгрузить существующих владельцев: Теперь приступаем к написанию скрипта, […]

Exchange 2010: ищем счастливых обладателей iPhone/iPad c последней прошивкой

В очередной раз (внезапно!) Apple устроил холокост для своих верных поклонников, которые используют Exchange в качестве корпоративной почтовой системы. В кратце – при обработке запросов на организацию встреч (meeting requests) с устройства Apple с новой прошивкой можно организовать зацикливание. Это может привести к резкому росту логов транзакций, и в случае, если не уследить за дисковым […]

Exchange 2010: выгрузка данных для аудита почтовых ящиков

Задача – выгрузить список общих (с которыми работают несколько пользователей) ящиков Exchange 2010 с: почтовыми адресами, списком тех, у кого есть полный доступ на ящик, менеджером, размером ящика Итоговый вывод примерно следующий будет: Первые два столбца получаются через Мы предполагаем, что общие ящики находятся в одной базе, и кроме них в этой базе других ящиков (пользовательских) нет. Список пользователей, […]

Exchange 2010: считаем полученные и отправленные письма

Некоторое время назад получил крайне экзотическую задачу – необходимо было посчитать число писем отправленных и полученных некоторой группой сотрудников за каждый день прошедшего месяца и вывести эту информацию в виде удобном для обработки. Так как необходимо посчитать число писем за определённый день, то необходимо использовать командлет  Get-MessageTrackingLog, причём считать будем только события “RECEIVE”. Письма, в […]

Собираем группы рассылок пользователя

Задача – выгрузить список пользователей сервера Exchange 2010 с логинами и группами рассылок в которых они состоят. На выходе должны получить что-то типа: Первые 2 столбца получаются достаточно легко через Однако, в свойствах учётной записи на сервере Exchange отсутствует привязка к группам, в которых состоит учётная запись. Зато в AD у учётной записи пользователя доступно свойство […]

Lync: назначение политик

Задача – назначить определённую политику конференц-связи (Conferencing Policy) в Lync Server для учёток сотрудников, объединённых в группу. По одному назначать политики через Grant-CsConferencingPolicy грустно и долго. Хочется сделать это быстро и с минимальными затратами времени. На помощь приходит наш любимый PowerShell. В консоли Lync Server Management Shell получается следующее:

Вывод в файл многозначных свойств объекта

В Exchange 2007/2010 некоторые свойства объектов являются многозначными. То есть, фактически представляют из себя массив. Самый простой пример – набор smtp-адресов почтового ящика. Сегодня с Олегом Крыловым пытались вывести в csv-файл похожий объект. Изначально задача стояла такая – нужно вывести разрешения AD на коннектор получения в csv-файл. Для начала через Get-ReceiveConnector получаем сам объект-коннектор, затем смотрим […]