Як знайти нові облікові записи Active Directory, створені за останні 90 днів?


13

Як знайти нові облікові записи Active Directory, які були створені за останні 90 днів?

хтось знає, хто це робити? Я не можу це зрозуміти.

Заздалегідь спасибі.

Відповіді:


17

Для нащадків dsquery призначений для такого виду пошуку. AD зберігає поле "WhenCreate", що полегшує пошук за допомогою обраного інструменту.

dsquery * -filter "(колиCreate> = 20101022083730.0Z)"

Як приклад. Ви можете програмно створювати часовий рядок на основі зараз - 90днів.


8
+1, можливо, потрібно використовувати "(&(objectClass=user)(whenCreated>=20101022083730.0Z))"для фільтрації комп'ютерів та інших об'єктів.
jscott

Це надзвичайно повільно для активного каталогу з величезною кількістю облікових записів. Здається, проходить лінійний прохід через дані.
Nicholas

8

Спробуйте виконати наступне, щоб залучити користувачів, створених за останні 30 днів.

Get-ADUser -Filter * -Properties whenCreated | Where-Object {$_.whenCreated -ge ((Get-Date).AddDays(-30)).Date}

4
Хоча ця відповідь технічно працює, вона не дуже ефективна, особливо у великих середовищах AD з тисячами користувачів. Ви по суті запитуєте AD для всіх користувачів, а потім на пам'ять на локальній машині фільтруєте ті, які відповідають критеріям "де". Натомість слід фактично використовувати аргумент Filter (або LDAPFilter) для фільтрування результатів, перш ніж вони повернуть його на вашу машину і взагалі уникають труби Where.
Райан Болгер

5

Альтернатива наведеній вище версії Powershell, яка є набагато ефективнішою, оскільки вона не завантажує всіх користувачів у пам'ять перед їх фільтруванням (слід робити фільтр на командлеті Get-ADUser безпосередньо та не використовувати Where-Object):

$now = ((Get-Date).AddDays(-90)).Date
Get-ADUser -Filter {whenCreated -ge $now}

3

Використовуючи PowerShell та інструменти Quest ActiveRoles для AD (знайдено тут - http://www.quest.com/powershell/activeroles-server.aspx ),

Get-QADUser -CreatedAfter (Get-Date).AddDays(-90)

дасть вам вихід на консоль або куди б ви не переспрямовували всіх користувачів, створених за останні 90 днів.


0

Ось приклад з іншого сайту, коли хтось отримує всі облікові записи AD, відсортовані за датою створення:

http://www.experts-exchange.com/Security/Operating_Systems_Security/Windows/Q_21117191.html

Ви можете отримати дату створення для кожного облікового запису з Active Directory. Кожен об’єкт AD має атрибут WhenCreate та WhenChanged. Ви можете скинути ці атрибути в плоский файл за допомогою утиліти LDIFDE, або можете скинути їх у файл, розділений комами, за допомогою CSVDE (обидві утиліти поставляються з Windows 2000).

Ось синтаксис для скидання двох атрибутів для об’єктів користувача в ОУ під назвою Phoenix у домені під назвою Company.com до консолі для перегляду (весь запис повинен бути введений як один рядок):

ldifde -d ou = phoenix, dc = компанія, dc = com -l при створенні, при зміні -p onevevel -r "(ObjectCategory = користувач)" -f con

Якщо ви хочете зберегти дамп у файл, змініть перемикач -f з con на ім'я файлу.

Для останньої часової позначки входу використовується такий формат: YYYYMMDDHHMMSS, з годиною, що відображається в Універсальному координованому часі. Марка часу 20040115182937.0Z відповідає 15 січня 2004 18:29:37 UCT.

USRSTAT повільний, і отриманий звіт повинен бути об'єднаний з дамп LDIFDE. Отже, я складаю сценарій, який шукає об’єкти користувача на кожному контролері домену, потім перераховує місцевий час входу та час створення. Позначення часу входу користувача потребує перетворення з великого цілого числа. Я запозичив код перетворення походить від Річарда Л. Мюллера (www.rlmueller.net/Programs). Повний сценарій Річарда також бере місцевий часовий пояс з Реєстру та перетворює час з UCT на місцевий час. Ніфт


0

Насправді всі ці відповіді не спрацюють для величезних виробничих середовищ AD.

Відповідь потрібно використовувати DirSync: https://support.microsoft.com/en-us/help/891995/how-to-poll-for-object-attribute-changes-in-active-directory-on-window

Ось реалізація цього Java: https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/experimental/ActiveDirectoryDirSyncControl.html

В основному ви постійно запитуєте AD про зміни на основі додаткового маркера.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.