Come trovo i nuovi account di Active Directory che sono stati creati negli ultimi 90 giorni?


13

Come trovo i nuovi account di Active Directory che sono stati creati negli ultimi 90 giorni?

qualcuno sa chi fare questo? Non riesco a capirlo.

Grazie in anticipo.

Risposte:


17

Per i posteri, dsquery è progettato per questo tipo di ricerca. AD mantiene un campo 'whenCreated', che semplifica la ricerca con il tuo strumento preferito.

dsquery * -filter "(whenCreated> = 20101022083730.0Z)"

Come esempio. È possibile creare a livello di programmazione il timestring in base a ora - 90 giorni.


8
+1 potrebbe voler usare "(&(objectClass=user)(whenCreated>=20101022083730.0Z))"per filtrare computer e altri oggetti.
jscott,

Questo è estremamente lento per una directory attiva con enormi quantità di account. Sembra fare un passaggio lineare attraverso i dati.
Nicholas DiPiazza,

8

Prova quanto segue per estrarre gli utenti creati negli ultimi 30 giorni.

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

4
Sebbene questa risposta funzioni tecnicamente, non è molto efficiente soprattutto in ambienti di grandi dimensioni con migliaia di utenti. Stai essenzialmente interrogando AD per tutti gli utenti e poi in memoria sul tuo computer locale, filtrando quelli che soddisfano i criteri "dove". Invece, dovresti effettivamente usare l'argomento Filter (o LDAPFilter) per filtrare i risultati prima che tornino al tuo computer ed evitare del tutto il tubo Where.
Ryan Bolger,

5

Un'alternativa alla versione di Powershell mostrata sopra, che è molto più efficiente perché non carica tutti gli utenti in memoria prima di filtrarli (è necessario eseguire direttamente il filtro sul cmdlet Get-ADUser e non utilizzare un Where-Object):

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


0

Ecco un esempio da un altro sito di qualcuno che recupera tutti gli account AD ordinati per data di creazione:

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

È possibile ottenere la data di creazione per ciascun account da Active Directory. Ogni oggetto AD ha un attributo WhenCreated e WhenChanged. È possibile scaricare questi attributi in un file flat utilizzando l'utilità LDIFDE oppure scaricarli in un file delimitato da virgole utilizzando CSVDE (entrambe le utilità sono fornite con Windows 2000).

Ecco la sintassi per scaricare i due attributi per gli oggetti utente in un'unità organizzativa denominata Phoenix in un dominio chiamato Company.com alla console per la visualizzazione (l'intera voce deve essere digitata come una riga singola):

ldifde -d ou = phoenix, dc = company, dc = com -l whreatreated, whenchanged -p onelevel -r "(ObjectCategory = user)" -f con

Se si desidera salvare il dump in un file, modificare l'opzione -f da con a un nome file.

L'ultimo timestamp di accesso utilizza questo formato: AAAAMMGGHHMMSS, con l'ora indicata in Tempo coordinato universale. Un timestamp 20040115182937.0Z corrisponde al 15 gennaio 2004 18:29:37 UCT.

USRSTAT è lento e il report che si ottiene deve essere unito al dump LDIFDE. Quindi, ho messo insieme uno script che cerca gli oggetti utente in ciascun controller di dominio, quindi elenca l'ora di accesso locale e l'ora di creazione. Il timestamp di accesso dell'utente richiede la conversione da un numero intero lungo. Ho preso in prestito il codice di conversione che viene da Richard L. Mueller (www.rlmueller.net/Programs). Lo script completo di Richard prende anche il fuso orario locale dal registro e converte l'ora dall'UCT all'ora locale. elegante


0

In realtà tutte queste risposte non funzioneranno per ambienti AD di produzione enormi.

La risposta è usare DirSync: https://support.microsoft.com/en-us/help/891995/how-to-poll-for-object-attribute-changes-in-active-directory-on-window

Ecco un'implementazione java di questo: https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/experimental/ActiveDirectoryDirSyncControl.html

Fondamentalmente chiedete continuamente ad AD le modifiche in base a un token incrementale.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.