Bagaimana cara menemukan akun Active Directory baru yang telah dibuat dalam 90 hari terakhir?

13

Bagaimana cara menemukan akun Active Directory baru yang telah dibuat dalam 90 hari terakhir?

apakah ada yang tahu siapa yang melakukan ini? Saya tidak bisa mengetahuinya.

Terima kasih sebelumnya.

rampok
sumber

Jawaban:

17

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.

sysadmin1138
sumber
8
+1 mungkin ingin digunakan "(&(objectClass=user)(whenCreated>=20101022083730.0Z))"untuk memfilter komputer dan objek lainnya.
jscott
Ini sangat lambat untuk direktori aktif dengan sejumlah besar akun. Tampaknya melakukan linear pass melalui data.
Nicholas DiPiazza
8

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}
pengguna227969
sumber
4
Meskipun jawaban ini secara teknis berfungsi, tidak terlalu efisien terutama di lingkungan AD besar dengan ribuan pengguna. Anda pada dasarnya meminta AD untuk semua pengguna dan kemudian dalam memori pada mesin lokal Anda memfilter yang memenuhi kriteria "di mana". Sebaliknya, Anda harus benar-benar menggunakan argumen Filter (atau LDAPFilter) untuk memfilter hasil sebelum hasilnya kembali ke mesin Anda dan hindari pipa Di mana sama sekali.
Ryan Bolger
5

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}
Matthieu
sumber
3

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.

Christopher
sumber
0

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

PMGoldstein
sumber
0

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.

Nicholas DiPiazza
sumber