Skip to content

Как фильтровать отправителей без ввода полного домена в get-messagetrackinglog?

При создании почтовых ящиков в Microsoft Exchange Server бывает так, что учетные записи и почтовые ящики создаются разными администраторами. Чтобы не обмениваться информацией о вновь созданных пользователях, можно написать скрипт, который будет определять местонахождение пользователя, выбирать наиболее подходящий почтовый сервер и базу сообщений, затем создавать в ней почтовый ящик и отправлять уведомление. Но об этом в другой статье, а ниже мы посмотрим, как получить список пользователей Active Directory созданных за определенный временной промежуток.

Например, администратор сети вчера создал учетные записи и вам необходимо создать для них почтовые ящики.
Запускаем скрипт.

Import-Module ActiveDirectory
$MDate = ((Get-Date).AddDays(-1)).Date
Get-ADUser -Filter {whenCreated -ge $MDate} -property whencreated|sort name|
                   ft name,samaccountname,whencreated -AutoSize

На выходе получится вот такой список:

 

Список учетных записей, созданных сегодня

Мы видим имя учетной записи, SamAccounName и дату создания. Эти учетные записи создавались скриптом, поэтому время создания отличается на примерно 15 секунд.

Получив такой список, можно создавать почтовые ящики используя свойство AD  SamAccountName и командлет Enable-Mailbox.

Рассмотрим по порядку каждую строку.

Import-Module ActiveDirectory

Для работы с коммандлетами Active Directory необходимо подгрузить модуль ActiveDirectory. В PowerShell 3.0 этого делать не нужно, т.к. модуль подгрузится автоматически.

$MDate = ((Get-Date).AddDays(-1)).Date

В переменной $MDate сохраняется дата на один день меньше от текущей и часы скидываются на начало дня. Конструкция (Get-Date).Date — покажет дату с 0:00 часов  текущего дня.

Get-ADUser -Filter {whenCreated -ge $MDate} -property whencreated|
            sort name| ft Name,samaccountname,whencreated -AutoSize

Используя конструкцию Get-ADUser -Filter {whenCreated -ge $MDate} мы получаем список учетных записей, у которых время создания — свойствоwhenCreated больше, чем утро текущего дня.

Поскольку Get-AdUser возвращает только предопределенные свойства, то мы передаем параметр
-property whencreated, чтобы это свойство появилось в объекте. Дальше идет сортировка по имени пользователя и вывод данных в табличном виде с автоматическим форматированием.

В PowerShell 3.0 загружать модуль AD не обязательно, он загрузится автоматически.

Published inExchange Server
Яндекс.Метрика