Jawaban:
Untuk anak cucu, dsquery dirancang untuk pencarian semacam ini. AD menyimpan bidang 'whenCreated', yang memudahkan pencarian dengan alat pilihan Anda.
dsquery * -filter "(whenCreated> = 20101022083730.0Z)"
Sebagai contoh. Anda dapat secara sistematis membuat timestring berdasarkan sekarang - 90 hari.
Coba yang berikut ini untuk menarik pengguna yang dibuat dalam 30 hari terakhir.
Get-ADUser -Filter * -Properties whenCreated | Where-Object {$_.whenCreated -ge ((Get-Date).AddDays(-30)).Date}
Sebuah alternatif untuk versi Powershell yang ditunjukkan di atas, yang jauh lebih efisien karena tidak memuat semua pengguna dalam memori sebelum memfilter mereka (Anda harus melakukan filter pada cmdlet Get-ADUser secara langsung dan tidak menggunakan Where-Object):
$now = ((Get-Date).AddDays(-90)).Date
Get-ADUser -Filter {whenCreated -ge $now}
Menggunakan PowerShell dan Quest ActiveRoles Tools untuk AD (ditemukan di sini - http://www.quest.com/powershell/activeroles-server.aspx ),
Get-QADUser -CreatedAfter (Get-Date).AddDays(-90)
akan memberi Anda output ke konsol atau di mana pun Anda mengarahkan ulang semua pengguna yang dibuat dalam 90 hari terakhir.
Berikut ini contoh dari situs lain seseorang mengambil semua akun AD yang diurutkan berdasarkan tanggal pembuatan:
http://www.experts-exchange.com/Security/Operating_Systems_Security/Windows/Q_21117191.html
Anda bisa mendapatkan tanggal pembuatan untuk setiap akun dari Active Directory. Setiap objek AD memiliki atribut WhenCreated dan WhenChanged. Anda dapat membuang atribut-atribut ini ke file datar menggunakan utilitas LDIFDE, atau Anda dapat membuangnya ke file yang dibatasi koma menggunakan CSVDE (kedua utilitas datang dengan Windows 2000).
Berikut sintaks untuk membuang dua atribut untuk objek pengguna dalam OU yang disebut Phoenix di domain yang disebut Company.com ke konsol untuk dilihat (seluruh entri harus diketik sebagai satu baris):
ldifde -d ou = phoenix, dc = perusahaan, dc = com-l ketika dirubah, ketika diubah -p onelevel -r "(ObjectCategory = user)" -f con
Jika Anda ingin menyimpan dump ke file, ubah -f beralih dari con ke nama file.
Stempel waktu masuk terakhir menggunakan format ini: YYYYMMDDHHMMSS, dengan jam yang ditunjukkan dalam Universal Coordinated Time. Cap waktu 20040115182937.0Z sesuai dengan 15 Januari 2004 18:29:37 UCT.
USRSTAT lambat, dan laporan yang Anda dapatkan harus digabungkan dengan dump LDIFDE. Jadi, saya mengumpulkan skrip yang mencari objek pengguna di setiap pengontrol domain, lalu mencantumkan waktu masuk lokal dan waktu pembuatan. Stempel waktu masuk pengguna memerlukan konversi dari bilangan bulat panjang. Saya meminjam kode konversi yang berasal dari Richard L. Mueller (www.rlmueller.net/Programs). Skrip lengkap Richard juga mengambil zona waktu lokal dari Registry dan mengubah waktu dari UCT ke waktu lokal. Bagus
Sebenarnya semua jawaban ini tidak akan bekerja untuk lingkungan produksi AD yang sangat besar.
Jawabannya adalah menggunakan DirSync: https://support.microsoft.com/en-us/help/891995/how-to-poll-for-object-attribute-changes-in-active-directory-on-window
Berikut ini adalah implementasi java dari ini: https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/experimental/ActiveDirectoryDirSyncControl.html
Pada dasarnya Anda terus-menerus meminta AD untuk perubahan berdasarkan token tambahan.
Anda dapat melakukannya dengan cukup mudah dsquery
"(&(objectClass=user)(whenCreated>=20101022083730.0Z))"
untuk memfilter komputer dan objek lainnya.