При створенні поштових скриньок в Microsoft Exchange Server буває так, що облікові записи та поштові скриньки створюються різними адміністраторами. Щоб не обмінюватися інформацією про новостворених користувачів, можна написати скрипт, який буде визначати місцезнаходження користувача, вибирати найбільш підходящий поштовий сервер і базу повідомлень, потім створювати в ній поштову скриньку і відправляти повідомлення. Але про це в іншій статті, а нижче ми подивимося, як отримати список користувачів Active Directory створених за певний часовий проміжок.
Наприклад, адміністратор мережі вчора створив облікові записи і вам необхідно створити для них поштові скриньки.
Запускаємо скрипт.
На виході вийде ось такий список:
Ми бачимо ім'я облікового запису, SamAccounName і дату створення. Ці облікові записи створювалися скриптом, тому час створення відрізняється на приблизно 15 секунд.
Розглянемо по порядку кожен рядок.
Для роботи з коммандлетамі Active Directory необхідно довантажити модуль ActiveDirectory. У PowerShell 3.0 цього робити не потрібно, тому що модуль підвантажиться автоматично.
У змінній $ MDate зберігається дата на один день менше від поточної і годинник скидаються на початок дня. Конструкція (Get-Date) .Date - покаже дату з 0:00 годин поточного дня.
Використовуючи конструкцію Get-ADUser -Filter ми отримуємо список облікових записів, у яких час створення - властивість whenCreated більше, ніж ранок поточного дня.
Оскільки Get-AdUser повертає тільки існуючі властивості, то ми передаємо параметр
-property whencreated. щоб це властивість з'явилося в об'єкті. Далі йде сортування по імені користувача і виведення даних в табличному вигляді з автоматичним форматуванням.
У PowerShell 3.0 завантажувати модуль AD не обов'язково, він завантажиться автоматично.