Wie finde ich neue Active Directory-Konten, die in den letzten 90 Tagen erstellt wurden?


13

Wie finde ich neue Active Directory-Konten, die in den letzten 90 Tagen erstellt wurden?

Weiß jemand, wer das tun soll? Ich kann es nicht herausfinden.

Danke im Voraus.

Antworten:


17

Für die Nachwelt ist dsquery auf diese Art der Suche ausgelegt. AD behält ein "whenCreated" -Feld bei, das die Suche mit dem Tool Ihrer Wahl vereinfacht.

dsquery * -Filter (whenCreated> = 20101022083730.0Z)

Als Beispiel. Sie können den Zeitstempel programmgesteuert auf der Basis von 90 Tagen erstellen.


8
+1 kann verwendet "(&(objectClass=user)(whenCreated>=20101022083730.0Z))"werden, um Computer und andere Objekte herauszufiltern.
Jscott

Dies ist für ein Active Directory mit einer großen Anzahl von Konten äußerst langsam. Es scheint einen linearen Durchlauf durch die Daten zu geben.
Nicholas DiPiazza

8

Versuchen Sie Folgendes, um Benutzer abzurufen, die in den letzten 30 Tagen erstellt wurden.

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

4
Obwohl diese Antwort technisch funktioniert, ist sie insbesondere in großen AD-Umgebungen mit Tausenden von Benutzern nicht sehr effizient. Sie fragen im Wesentlichen AD für alle Benutzer ab und filtern dann auf Ihrem lokalen Computer diejenigen heraus, die die Wo-Kriterien erfüllen. Stattdessen sollten Sie das Filter-Argument (oder LDAPFilter) verwenden, um die Ergebnisse zu filtern, bevor sie auf Ihren Computer zurückkehren, und die Where-Pipe insgesamt vermeiden.
Ryan Bolger

5

Eine Alternative zur oben gezeigten Powershell-Version, die wesentlich effizienter ist, da nicht alle Benutzer vor dem Filtern in den Arbeitsspeicher geladen werden (Sie sollten den Filter im Cmdlet Get-ADUser direkt ausführen und kein Where-Object verwenden):

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


0

Hier ist ein Beispiel von einer anderen Site, auf der jemand alle AD-Konten nach Erstellungsdatum sortiert abruft:

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

Sie können das Erstellungsdatum für jedes Konto in Active Directory abrufen. Jedes AD-Objekt verfügt über ein WhenCreated- und ein WhenChanged-Attribut. Sie können diese Attribute mit dem LDIFDE-Dienstprogramm in eine Einfachdatei oder mit CSVDE in eine durch Kommas getrennte Datei sichern (beide Dienstprogramme werden mit Windows 2000 geliefert).

Hier ist die Syntax, um die beiden Attribute für die Benutzerobjekte in einer Organisationseinheit mit dem Namen Phoenix in einer Domäne mit dem Namen Company.com zur Anzeige an die Konsole zu senden (der gesamte Eintrag sollte als einzelne Zeile eingegeben werden):

ldifde -d ou = phoenix, dc = company, dc = com -l bei Erstellung, bei Änderung -p onelevel -r "(ObjectCategory = user)" -f con

Wenn Sie den Speicherauszug in einer Datei speichern möchten, ändern Sie die Option -f von con in einen Dateinamen.

Der Zeitstempel der letzten Anmeldung verwendet dieses Format: JJJJMMTTHHMMSS, wobei die Stunde in der koordinierten Weltzeit angezeigt wird. Ein Zeitstempel von 20040115182937.0Z entspricht dem Datum vom 15. Januar 2004, 18:29:37 UCT.

USRSTAT ist langsam und der Bericht, den Sie erhalten, muss mit dem LDIFDE-Dump zusammengeführt werden. Also habe ich ein Skript zusammengestellt, das auf jedem Domänencontroller nach Benutzerobjekten sucht und dann die lokale Anmeldezeit und die Erstellungszeit auflistet. Der Benutzeranmeldezeitstempel erfordert die Konvertierung von einer langen Ganzzahl. Ich habe mir den Umrechnungscode von Richard L. Mueller (www.rlmueller.net/Programs) ausgeliehen. Richards vollständiges Skript übernimmt auch die lokale Zeitzone aus der Registrierung und konvertiert die Zeit von UCT in lokale Zeit. Raffiniert


0

Tatsächlich funktionieren all diese Antworten in großen Produktions-AD-Umgebungen nicht.

Die Antwort ist, DirSync zu verwenden: https://support.microsoft.com/de-de/help/891995/how-to-poll-for-object-attribute-changes-in-active-directory-on-window

Hier ist eine Java-Implementierung davon: https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/experimental/ActiveDirectoryDirSyncControl.html

Grundsätzlich fragen Sie AD ständig nach Änderungen, die auf einem inkrementellen Token basieren.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.