ฉันจะค้นหาบัญชี Active Directory ใหม่ที่สร้างขึ้นใน 90 วันที่ผ่านมาได้อย่างไร


13

ฉันจะค้นหาบัญชี Active Directory ใหม่ที่สร้างขึ้นใน 90 วันที่ผ่านมาได้อย่างไร

ไม่มีใครรู้ว่าใครที่จะทำเช่นนี้? ฉันคิดไม่ออก

ขอบคุณล่วงหน้า.

คำตอบ:


17

สำหรับรุ่นหลัง dsquery ได้รับการออกแบบสำหรับการค้นหาประเภทนี้ โฆษณาจะเก็บฟิลด์ 'whenCreated' ซึ่งทำให้ง่ายต่อการค้นหาด้วยเครื่องมือที่คุณเลือก

dsquery * -filter "(เมื่อสร้าง> = 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
แม้ว่าคำตอบนี้จะใช้งานได้จริง แต่ก็ไม่ได้มีประสิทธิภาพมากนักโดยเฉพาะในสภาพแวดล้อมโฆษณาขนาดใหญ่ที่มีผู้ใช้หลายพันคน คุณต้องค้นหาโฆษณาสำหรับผู้ใช้ทั้งหมดและจากนั้นในหน่วยความจำบนเครื่องของคุณจะกรองรายการที่ตรงกับเกณฑ์ "ที่ไหน" คุณควรใช้อาร์กิวเมนต์ตัวกรอง (หรือ LDAPFilter) แทนเพื่อกรองผลลัพธ์ก่อนที่จะนำกลับไปที่เครื่องของคุณ
Ryan Bolger

5

ทางเลือกแทนรุ่น Powershell ที่แสดงด้านบนซึ่งมีประสิทธิภาพมากกว่าเนื่องจากไม่โหลดผู้ใช้ทั้งหมดในหน่วยความจำก่อนกรองพวกเขา (คุณควรทำตัวกรองบน ​​Get-ADUser cmdlet โดยตรงและไม่ใช้ Where-Object):

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

3

การใช้ PowerShell และเครื่องมือ Quest ActiveRoles สำหรับโฆษณา (ดูได้ที่นี่ - http://www.quest.com/powershell/activeroles-server.aspx )

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

จะให้ผลลัพธ์กับคอนโซลหรือที่ใดก็ตามที่คุณเปลี่ยนเส้นทางของผู้ใช้ทั้งหมดที่สร้างขึ้นใน 90 วันที่ผ่านมา


0

นี่คือตัวอย่างจากไซต์อื่นของคนที่รับบัญชีโฆษณาทั้งหมดเรียงตามวันที่สร้าง:

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

คุณสามารถรับวันที่สร้างสำหรับแต่ละบัญชีจาก Active Directory วัตถุโฆษณาทุกชิ้นมีคุณสมบัติ WhenCreated และ WhenChanged คุณสามารถดัมพ์แอ็ตทริบิวต์เหล่านี้เป็นไฟล์ flat โดยใช้ยูทิลิตี้ LDIFDE หรือคุณสามารถดัมพ์แอ็ตทริบิวต์เหล่านี้ลงในไฟล์ที่คั่นด้วยเครื่องหมายจุลภาคโดยใช้ CSVDE (ยูทิลิตี้ทั้งสองมาพร้อมกับ Windows 2000)

นี่คือไวยากรณ์ในการถ่ายโอนแอตทริบิวต์ทั้งสองสำหรับวัตถุผู้ใช้ใน OU ชื่อ Phoenix ในโดเมนชื่อ Company.com ไปยังคอนโซลเพื่อดู (รายการทั้งหมดควรพิมพ์เป็นบรรทัดเดียว):

ldifde -d ou = phoenix, dc = company, dc = com -l whencreated, whenchanged -p onelevel -r "(ObjectCategory = ผู้ใช้)" -f

หากคุณต้องการบันทึกดัมพ์เป็นไฟล์ให้เปลี่ยนสวิตช์ -f จาก con เป็นชื่อไฟล์

การประทับเวลาการเข้าสู่ระบบครั้งสุดท้ายใช้รูปแบบนี้: YYYYMMDDHHMMSS โดยมีชั่วโมงแสดงในเวลาสากลเชิงพิกัด เวลาประทับของ 20040115182937.0Z สอดคล้องกับ 15 มกราคม 2547 18:29:37 UCT

USRSTAT ช้าและรายงานที่คุณได้รับจะต้องถูกรวมเข้ากับการถ่ายโอนข้อมูล LDIFDE ดังนั้นฉันจึงรวบรวมสคริปต์ที่ค้นหาวัตถุผู้ใช้ในแต่ละโดเมนคอนโทรลเลอร์จากนั้นแสดงรายการเวลาเข้าสู่ระบบในเครื่องและเวลาสร้าง เวลาเข้าสู่ระบบของผู้ใช้ต้องการการแปลงจากจำนวนเต็มแบบยาว ฉันยืมรหัสการแปลงมาจาก Richard L. Mueller (www.rlmueller.net/Programs) สคริปต์เต็มรูปแบบของ Richard ยังใช้เวลาท้องถิ่นจาก Registry และแปลงเวลาจาก UCT เป็นเวลาท้องถิ่น ดี


0

จริงๆแล้วคำตอบทั้งหมดเหล่านี้จะไม่ทำงานสำหรับสภาพแวดล้อมการโฆษณาขนาดใหญ่ที่ผลิต

คำตอบคือใช้ DirSync: https://support.microsoft.com/en-us/help/891995/how-to-poll-for-object-attribute-changes-in-active-directory-on-window

นี่คือการใช้งานจาวาของสิ่งนี้: https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/experimental/ActiveDirectoryDirSyncControl.html

โดยทั่วไปคุณขอให้ AD เปลี่ยนแปลงอย่างต่อเนื่องโดยใช้โทเค็นที่เพิ่มขึ้น


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.