Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows 7, XP
  • Cerca computer inattivi in ​​Active Directory. Trovare utenti AD inattivi utilizzando Get-ADUser

Cerca computer inattivi in ​​Active Directory. Trovare utenti AD inattivi utilizzando Get-ADUser

Pubblicato il 19 febbraio 2009 da · Nessun commento

In questo articolo ti mostrerò come funzionano gli strumenti di ricerca Directory attiva in Windows Vista.

Vorrei aver potuto vedere la mia espressione la prima volta che qualcuno in Microsoft mi ha detto che Vista avrebbe avuto un'applet speciale che avrebbe consentito agli utenti di effettuare ricerche in Active Directory. Era un orrore silenzioso. All'inizio mi sono subito ricordato delle complesse query LDAP. Il mio pensiero successivo riguardava le informazioni in Active Directory a cui gli utenti non hanno accesso aziendale (cose come SID, gruppi di sicurezza, assegnazioni di applicazioni e così via). Il panico ha lasciato il posto alla domanda su come disattivare queste funzionalità di ricerca per mantenere il controllo degli utenti. Ora che è arrivata la versione beta di Vista, ho l'opportunità di dare un'occhiata a questo strumento, e mi permetto di segnalarti che è uno strumento molto utile, pratico e per nulla pericoloso.

Iniziare

Prima di mostrarti lo strumento di ricerca di Active Directory, voglio menzionare una cosa. Probabilmente hai sentito parlare del computer che porta l'acronimo GIGO (Garbage In, Garbage Out). Il principio GIGO è molto vero quando si tratta di uno strumento di ricerca di Active Directory. Quando crei oggetti in Active Directory, hai la possibilità di inserire informazioni relative a determinati attributi dell'oggetto. Ad esempio, se crei un oggetto utente, devi inserire informazioni normali come nome utente e password, ma puoi anche inserire altre informazioni come l'indirizzo e il numero di telefono dell'utente.

Il motivo per cui qui si applica il principio GIGO è che se inserisci molti parametri per le informazioni sugli attributi dell'oggetto e mantieni tali informazioni aggiornate, lo strumento di ricerca di Active Directory sarà una risorsa inestimabile per i tuoi utenti. D'altra parte, se sei un amministratore che inserisce solo le informazioni minime richieste durante la creazione Oggetto attivo Directory, lo strumento di ricerca di Active Directory sarà essenzialmente inutile.

Detto questo, diamo un'occhiata allo strumento di ricerca di Active Directory. Puoi trovarlo aprendo il Pannello di controllo e facendo clic sul collegamento Rete e Internet che segue i collegamenti Centro connessioni di rete ( centro di rete) ed esplorare la rete. Ora vedrai Schermata di Windows 3.11, che visualizza i computer all'interno di un dominio come mostrato nella Figura 1 di seguito.

Disegno 1: Firewall contiene un collegamento per eseguire la ricerca in Active Directory (Cerca in Active Directory)

Se guardi nella parte superiore di questa finestra, noterai un'icona chiamata Cerca in Active Directory. Fare clic su questo collegamento e Windows avvierà lo strumento di ricerca di Active Directory, mostrato nella Figura 2.

Disegno 2: Ecco come appare lo strumento di ricerca di Active Directory

Lo schermo è molto semplice e molto ben organizzato. In alto vedrai un elenco a discesa Trova. Per impostazione predefinita, questo elenco consente all'utente di cercare utenti, contatti e gruppi, tuttavia, gli utenti hanno anche la possibilità di cercare computer, stampanti, cartelle condivise o eseguire una ricerca specifica.

Se guardi a destra dell'elenco a discesa Trova, vedrai che per impostazione predefinita questo strumento è configurato per eseguire la ricerca nell'intera Active Directory. L'elenco a discesa In ti dà la possibilità di effettuare la ricerca all'interno di un dominio specifico.

Gli utenti possono eseguire una semplice query di Active Directory semplicemente inserendo il nome o la descrizione dell'elemento che stanno cercando e facendo clic sul pulsante Trova ora. Ad esempio, se inserisco il nome di uno dei miei utenti e faccio clic sul pulsante Trova ora, Vista restituisce un elenco di utenti, contatti e gruppi che corrispondono alla mia ricerca, come mostrato nella Figura 3. Posso quindi fare doppio clic su un oggetto per visualizzarne gli attributi, come mostrato nella Figura 4.

Disegno 3: Vista visualizza tutti gli utenti, i contatti e i gruppi che corrispondono alla query

Figura 4: Se fai doppio clic su un oggetto trovato, Vista visualizzerà gli attributi dell'oggetto

Se la Figura 4 sembra un po' strana è grazie al principio GIGO di cui ho parlato prima. Utente1 è solo un test Account nel mio dominio, quindi non ci sono molti attributi ad esso associati. E se è così, non vengono visualizzati molti risultati di ricerca. Questo è il motivo per cui è importante inserire attributi aggiuntivi quando si crea un nuovo oggetto. Se in questo caso venissero compilati gli attributi aggiuntivi, allora vedremmo il complete informazioni sui contatti utente.

Se non sei ancora convinto di dover popolare attributi aggiuntivi per i tuoi oggetti Active Directory, la funzione Ricerca avanzata potrebbe farti cambiare idea. La scheda Avanzate, mostrata nella Figura 5, consente di selezionare il campo, la condizione e il valore da cercare.


Disegno
5: Scheda Avanzate nello strumento di ricerca di Active Directory

L'elenco a discesa Campo consente di cercare attributi di un tipo speciale. Ad esempio, se desideri trovare utenti in una città specifica, puoi selezionare l'opzione Utente dall'elenco a discesa Campo e quindi selezionare l'attributo Città, come mostrato nella Figura 6.

Disegno 6: La ricerca avanzata consente di eseguire ricerche su singoli attributi di Active Directory

Il menu a discesa delle condizioni consente fondamentalmente di selezionare un operatore per una funzione. Ad esempio, puoi selezionare una condizione come "Inizia con", "finisce con è", "non è", ecc. Infine, il campo Valore consente di inserire i criteri di ricerca. Ad esempio, se desideri trovare tutti gli utenti dell'ufficio di Miami, puoi selezionare Utenti | Città (utenti|città) dall'elenco a discesa Campo. Imposta la Condizione su Esattamente e inserisci il criterio di ricerca nel campo Valore, ad es. Miami.

Conclusione

Come puoi vedere, lo strumento di ricerca di Active Directory ti consente di sfruttare la potenza di Active Directory. Gli utenti possono recuperare informazioni da Active Directory senza creare query LDAP complesse.

www.windowsnetworking.com

Guarda anche:

Commenti dei lettori (Nessun commento)

Sì, sono un uomo, un uomo! =)

Scambio 2007

Se desideri leggere le parti precedenti di questa serie di articoli, segui i collegamenti: Monitoraggio di Exchange 2007 utilizzando Gestore di sistema...

Introduzione In questo articolo in più parti, voglio mostrarti un processo che ho utilizzato di recente per la transizione ambiente esistente Scambio 2003...

Se ti sei perso la prima parte di questa serie, leggila in Utilizzo dello strumento Server di scambio Strumento di analisi della connettività remota (parte...

Buon pomeriggio, cari lettori e abbonati, continuiamo a studiare con voi Funzionalità di PowerShell e ActiveDirectory. Come ricordi, tutti i suoi account utente e computer si trovano nel database NTDS.dit, tutto è fantastico e centralizzato. Quando un'azienda ha più di un amministratore di sistema, può verificarsi una situazione in cui si accumulano spazzatura e credenziali non necessarie. Siamo tutti umani e possiamo dimenticare alcune cose, e in alcuni momenti possiamo essere distratti, il che porterà anche a dimenticare Informazioni importanti. E arriviamo alla conclusione che l'Active Directory non si accumula utenti attivi(licenziato o dimenticato), in ogni caso, bene Amministratore di sistema dobbiamo identificarli, disattivarli e poi cancellarli se lo si desidera, che è ciò che faremo.

Tramite lo snap-in ADUC

L'ultima volta vi ho già fornito un esempio dell'utilizzo dello snap-in Utenti e computer di Active Directory, tramite il quale abbiamo cercato i computer mancanti sulla rete locale che non apparivano da un mese. Ora faremo lo stesso con gli account utente. Ho AD attivo Windows Server 2012 R2, apri ADUC, per farlo premi WIN+R e inserisci dsa.msc.

Nel modulo di richiesta che si apre inserisci:

  • Richiedi nome > per me questi sono utenti persi
  • Descrizione se necessaria
  • Richiedi root > qui puoi lasciare l'intero dominio o specificarlo nell'unità organizzativa desiderata

Quindi fare clic sul pulsante Richiedi.

Nella scheda utenti vediamo la voce "Numero di giorni trascorsi ultimo accesso nel sistema" ho impostato ad esempio 60 giorni.

Di conseguenza, riceverai l'elenco di cui hai bisogno degli account dei dipendenti inattivi.

Tramite snap-in PowerShell

La stessa cosa può essere fatta tramite Powershell. Ti fornirò subito il codice il cui compito è ricercare gli utenti inattivi; per questo ho scelto un periodo di 45 giorni, disabilitando i dati utente e spostandomi in una UO appositamente designata.

$date_with_offset= (Get-Date).AddDays(-45)
$utenti = Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | Ordina LastLogonDate
foreach ($utente in $utenti) (set-aduser $utente -abilitato $false; move-adobject -identity $utente -targetpath "ou=Licenziato,ou=Utenti di Mosca L.,ou=Posizione,dc=msk,dc= contoso,dc=com")
Get-ADUser -Properties LastLogonDate -Filter (LastLogonDate -lt $date_with_offset ) | Ordina LastLogonDate | Nome FT, LastLogonDate -AutoSize | File in uscita c:\Script\users.txt

  • Nella prima riga dichiari una variabile in cui imposti il ​​termine di ricerca
  • Crea una variabile ed effettua una selezione in base all'ora dell'ultimo accesso
  • Utenti in movimento

  • Creazione di un rapporto su un file

Cose più utili nel lavorare con l'utente. Prima di utilizzare i comandi seguenti, è necessario caricare il modulo Active Directory tramite il comando

Get-Help Get-ADUser

MASSIMO KOSTYSHIN

Controllo degli account utente in Active Directory

Il motivo della pubblicazione di questo articolo sono le informazioni pubblicate nella rivista “Windows & .Net Magazine/RE” n. 5 del 2003 con il titolo “LDIF Directory Exchange Utility”, che suggerivano soluzioni che potrebbero essere utilizzate per garantire livello richiesto automazione durante il controllo degli account utente in Active Directory. L'articolo descrive le funzionalità principali di due utilità Ldifde.exe e Csvde.exe, che forniscono l'aggiunta, la modifica e l'eliminazione di oggetti Active Directory.

Le informazioni seguenti si concentrano sull'uso delle piattaforme Windows e sono destinate principalmente ai responsabili sicurezza del computer revisori specializzati in questo settore. Ci auguriamo che l'articolo possa essere utile anche a chi si occupa professionalmente dell'amministrazione di reti locali.

Dichiarazione di questioni problematiche

Ad un certo punto si verifica uno stato critico per l'elenco degli utenti rete locale imprese, quando la riluttanza a fermarsi e ad analizzarne i contenuti può portare a costi e problemi maggiori rispetto all'attuazione tempestiva del lavoro di audit e all'eliminazione delle carenze individuate.

Riguardo a cosa stiamo parlando? Nelle organizzazioni in cui il numero di dipendenti che lavorano con apparecchiature informatiche, supera le 100 persone, l'amministrazione è solitamente svolta da due o tre dipendenti. Non tutti, a causa di varie circostanze, trattano il lavoro di inserimento delle informazioni sui proprietari negli account appena creati con sufficiente pedanteria. Inoltre, gli amministratori solitamente non sono inclusi nell'elenco dei dipendenti a cui è obbligatorio comunicare i licenziamenti. Queste due circostanze sono le ragioni principali per cui si verifica l’accumulo di conti di “anime morte”.

Proviamo a effettuare qualche sistematizzazione dei più significativi e problemi evidenti per elenco Utenti attivi Direttorio.

in primo luogo, voci aggiuntive nell'elenco degli utenti, che possono essere:

  • conti dei dipendenti licenziati;
  • account di dipendenti che lavorano che non vengono utilizzati e i cui proprietari difficilmente ricordano i nomi di accesso (per non parlare delle password);
  • account utente bloccati per i quali l'amministratore ha completato il primo passaggio prima dell'eliminazione, ma non ha completato la procedura;
  • account creati per il test, che di solito hanno privilegi piuttosto elevati e che l'amministratore ha dimenticato di eliminare una volta completato il processo di test.

In secondo luogo, i conti che non identificano chiaramente il proprietario possono essere classificati come inaccettabili, vale a dire Informazioni aggiuntive in cui non permette di nominare una persona, determinarne la posizione e il dipartimento, scoprire come contattarlo (ovviamente non stiamo parlando di account standard come “Amministratore”, “Amministratore”, “Ospite”, “Ospite ", e altro).

In terzo luogo, la conformità con le policy di sicurezza aziendali richiede che gli sforzi sia degli amministratori che degli utenti siano diretti a garantire che un account venga utilizzato solo dal suo proprietario. Cioè, se il protocollo per eseguire operazioni con uno qualsiasi dei programmi mostrasse che l'utente ha effettuato l'accesso con l'account di Ivan Ivanovich Ivanov, sarebbe assolutamente irrazionale perdere tempo in ulteriori discussioni con situazioni in cui si scopre che l'account vengono utilizzati (per insufficiente conoscenza informatica o per ordinaria pigrizia) tutti i dipendenti del dipartimento, che impiega cinque persone.

Panoramica delle opzioni dell'account

Proviamo a elencare le funzionalità a disposizione di un amministratore per lavorare con gli account utente in Active Directory e la misura in cui possono essere utilizzate per condurre un controllo.

Snap-in Utenti e computer di Active Directory (disponibile nella sezione Strumenti di amministrazione del server). Una meravigliosa opportunità per aggiungere, modificare proprietà ed eliminare utenti di dominio, ma, sfortunatamente, abbastanza inutile in materia di controllo e controllo. A aspetti positivi Ciò include la possibilità di esportare un elenco di utenti, che può includere campi come “nome login utente”, “nome”, “nome visualizzato”, “cognome”, “modificato”. Tieni presente che il campo "modificato" mostra l'ora e la data delle ultime modifiche apportate all'account da parte dell'amministratore (le impostazioni sono state modificate) o del proprietario (password modificata).

Utilità di sistema Net.exe. Con questa utility puoi assicurarti di lavorare con i dati utente specifico(opzione chiamata – “Utente rete”) – ottieni data e ora ultima immatricolazione sulla rete e determinare anche quando scade la password.

Programmi scanner il cui compito è raccogliere informazioni sullo stato di una rete locale o di un computer specifico. Tra i più programmi interessanti In termini di ottenimento di informazioni sugli utenti, segnaliamo CFI LANguard Network Security Scanner (ver 3.1.5). Offre l'opportunità di ottenerne abbastanza informazioni dettagliate sugli account, come data e ora dell'ultima registrazione; informazioni sulla scadenza della password; numero di registrazioni degli utenti sulla rete; valore di indice dei tentativi di accesso con una password errata. Inoltre, il programma consente, sulla base dei dati di due protocolli di scansione salvati, di generare un rapporto sulle discrepanze e ottenere un elenco degli account creati ed eliminati. Per essere onesti, notiamo che il programma ha carenze significative, soprattutto per la categoria di utenti di lingua russa, poiché elabora in modo errato i nomi russi (nei nomi e parametri aggiuntivi conti, ecc.). Inoltre, non è possibile salvare in fascicolo separato informazioni sulle discrepanze riscontrate negli elenchi dei conti.

Passiamo ora a considerare le utilità che, a nostro avviso, offrono la possibilità di ottenere il massimo informazioni complete dagli utenti – Ldifde.exe e Csvde.exe.

La prima utilità consente di esportare i dati da Active Directory in un file in formato LDIF. Lo standard del file LDIF è definito nelle linee guida RFC-2849 per l'importazione e l'esportazione di dati da directory LDAP come Active Directory. Dopo aver esportato i dati, puoi utilizzare il file LDIF per importare gli stessi oggetti in un'altra directory LDAP.

Csvde.exe è un'utilità simile a Ldifde.exe (i parametri di chiamata sono identici), che utilizza un diverso formato di archiviazione dei dati in file di testo– i valori sono separati da virgole (formato CSV). Questo formato supportato dal programma Microsoft Excel, che comprende file in formato CSV, nonché accesso Microsoft.

Utilizzando l'utilità Csvde.exe

Per chiarezza, invece di descrizione completa parametri per lavorare con l'utilità, forniamo un esempio sulla base del quale è possibile creare query per tutti i casi necessari per il controllo.

csvde -f UTENTI_LAVORO.CSV -b OSPITE MICROSOFT *

R "(&(objectClass=utente)(!(objectClass=computer))(!(userAccountControl=514))(!(userAccountControl=66050)))"

L "DN, memberOf, badPasswordTime, lastLogon, logonCount, sAMAccountName, userAccountControl, WhenChanged, WhenCreated"

L'utilizzo di questo comando permette di salvare in un file le informazioni più interessanti dal punto di vista del controllo per gli account utente attivi (non bloccati).

Il file USER_WORK.CSV (il parametro -f) registrerà le informazioni sull'account utente del dominio. Il programma elaborerà i dati che dovranno essere accessibili all'utente GUEST del dominio MICROSOFT, la cui password dovrà essere inserita durante l'esecuzione del comando (parametro -b).

Da tutti gli oggetti nella directory LDAP, verranno selezionati solo gli account utente per i quali il campo del parametro userAccountControl non contiene informazioni sul blocco dell'account (il parametro -r). COME operazioni logiche per l’uso del filtro – “!” – NO logico, “&” – AND logico, “|” – OR logico.

A seguito dell'esecuzione del comando, i dati dei campi elencati nel parametro -l verranno salvati nel file CSV (l'elenco dei campi più interessanti è riportato nella Tabella 1).

Nota: il comando "Net user" non elabora correttamente i dati del campo pwdLastSet, nonché alcuni valori temporali. Per il campo pwdLastSet, se la password non è stata specificata, il file data odierna E tempo. Per i dati orari, invece dei valori nella forma 00:mm AM e 00:mm PM, vengono visualizzati rispettivamente i valori 12:mm AM e 12:mm PM.

Tabella 1. Descrizione di alcuni campi degli account della directory LDAP

Nome del campo

Spiegazione

Esempio di dati memorizzati

Informazioni che identificano un account in una directory LDAP

CN=Bill Gates,CN=Utenti,DC=Microsoft,DC=com

membro di

Informazioni sui gruppi a cui appartiene l'account

CN=Ospiti di dominio,CN=Utenti,DC=Microsoft, DC=com;CN=Ospiti,CN=Builtin,DC=Microsoft, DC=com

lastLogon

Data e ora dell'ultimo accesso

126340325381029632

badPasswordTime

La data e l'ora dell'ultimo utilizzo della password non sono corrette.

126334418756267552

pwdLastSet

Data e ora in cui è stata impostata l'ultima password

126318831197720512

accountScade

La data e l'ora che indicano la scadenza dell'account

Controllo dell'account utente

Contiene diverse impostazioni dell'account

66048

(0x10200 = DONT_EXPIRE_PASSWORD+NORMAL_ACCOUNT)

sAMANomeAccount

Nome con il quale avviene la registrazione

Cancelli

quando modificato

Data e ora in cui è successo ultime modifiche nel tuo account

20010511052201.0Z

quandoCreato

Data e ora in cui è stato creato l'account

20010511052201.0Z

logCount

Numero di registrazioni

oggettoClass

Classe oggetto account

utente

Formati di dati di data e ora

Se sei stato attento, avrai notato che nella Tabella 1 ce ne sono due varie opzioni rappresentazione dei valori di data e ora.

Se il formato del modulo YYYYMMDDDHHMMSS.0Z (tipo GeneralizedTime per la codifica ASN.1) utilizzato per i campi WhenChanged e WhenCreated GMT è sufficientemente chiaro, parametri come lastLogon, pwdLastSet, accountExpires rappresentano le informazioni su data e ora in UNIX a 32 bit. formato e contengono i secondi trascorsi dal 1 gennaio 1970, GMT. Per chiarezza riportiamo alcuni valori che potrebbero essere contenuti nel file dei valori caricati per i parametri data e ora in formato UNIX:

126858492000000000 – corrisponde al 01/01/2003 00:00

127014876000000000 – corrisponde al 1.07.2003 00:00

127014912000000000 – corrisponde al 1.07.2003 01:00

Utilizzo delle funzioni di trasformazione per i dati CSV

Tuttavia, è possibile tentare di caricare le informazioni sull'account scaricate utilizzando un comando simile a quello specificato all'inizio della sezione "Utilizzo dell'utilità Csvde.exe" in Microsoft Access, poiché il programma non elabora correttamente il file “,” carattere separatore in strutture come “CN=Bill Gates,CN=Users, DC=Microsoft,DC=com”, è meglio utilizzare opportunità simili Programmi Microsoft Excel (vedi Fig. 1). Inoltre, le informazioni per facilità d'uso possono essere elaborate utilizzando i file Microsoft disponibili Funzionalità di Excel(macro, funzioni).

Le figure mostrano le informazioni del file CVS subito dopo che è stato caricato in Microsoft Excel (Fig. 1) e dopo che sono state effettuate le trasformazioni (Fig. 2). Di seguito sono riportati esempi di tali trasformazioni. Le opzioni di trasformazione proposte non pretendono di essere logicamente complete, ma possono costituire la base con l'aiuto della quale è possibile sviluppare in breve tempo il meccanismo di elaborazione necessario per ciascun caso specifico.

Recupero dei dati dalla struttura del campo DN

Per ottenere un nome utente da una struttura del tipo “...CN=NomeUtente,...” nella cella A2 è possibile utilizzare la seguente formula di conversione:

PSTR(A2;

TROVA("CN=";A2)+3;

TROVA(","; A2;

TROVA("CN="; A2)+3

) - TROVA("CN=";A2) -3

Per ottenere informazioni da una struttura della forma “...OU=Dati,...” nella cella A2 è possibile utilizzare la seguente formula di conversione:

SE(IMPIANTO("0"!A2);"";

SE(VAL.ERRORE(TROVA("OU=";"0"!A2)); "UTENTI";

PSTR("0"!A2;

TROVA("OU=";"0"!A2)+3;

TROVA(","; "0"!A2;

TROVA("OU=";"0"!A2)+3) –

TROVA("OU=";"0"!A2) -3

Elaborazione dei dati di data e ora Unix

Proponiamo di ottenere una data nel formato GG.MM.AAAA basata su dati in formato Unix in due fasi. Nella prima fase viene calcolato il numero di giorni trascorsi dal 1 gennaio 2003. Nella seconda viene generata una stringa di data in un formato standard.

Per ottenere il numero di giorni dal 1 gennaio 2003, in base ai dati nella cella F2, specificati in un formato di data e ora Unix, è possibile utilizzare la seguente formula di conversione:

SE(

VALORE(SINISTRA(F2,11))=0;

ROUNDBOTTOM((VALORE(SINISTRA(F2,11))- 12685849200)/24/3600; 0)

Per generare la data nel formato standard viene utilizzato il valore di spostamento del giorno ottenuto nella prima fase relativo al 1 gennaio 2003 (nella cella E2).

SE(E2=-1;

"Assente";

CONCATENARE(

GIORNO(DATAVALORE("1/1/2003")+E2);

".";

MESE(DATAVALORE("1/1/2003")+E2);

".";

ANNO(DATAVALORE("1/1/2003")+E2)

Elaborazione dei dati di data e ora nel formato GeneralizedTime per la codifica ASN.1

Conversione di un numero nel formato AAAAMMGGMMSS.0Z nel formato GG.MM.AAAA HH:MM

CONCATENARE(

PSTR(N2;7;2); "."; PSTR(N2;5;2); "."; PSTR(N2;1;4); " ";

PSTR(N2;9;2); ":"; PSTR(N2;11;2)

Elaborazione del valore del campo userAccountControl relativo all'eventuale blocco di un record

Recupero dei dati sullo stato dell'account dal valore del campo userAccontControl contenuto nella cella G2:

SE(POSTO(G2);"";

SE(ORG2=514; G2=66050);"Bloccato","Attivo")

Spiegazioni dettagliate e descrizione del formato di archiviazione dei dati nel campo userAccountControl sono disponibili nell'articolo Microsoft “How to Use the UserAccountControl Flags to Manipulate Account utente Proprietà" (http://support.microsoft.com/?kbid=305144). Notiamo solo che se i parametri dell'account non vengono specificati, allora il valore decimale di userAccountControl è 512; Il valore decimale per un conto bloccato se non sono disponibili altri parametri è 514.

Conclusione

L'articolo propone un metodo abbastanza semplice per ottenere dati per il controllo degli account utente in Active Directory, che non richiede competenze o conoscenze particolari dei linguaggi di programmazione.

Si noti che oltre al metodo descritto è possibile utilizzare l'opzione consigliata da Microsoft, che prevede l'utilizzo di interfacce Servizi attivi Directory Services (ADSI), che forniscono un accesso semplice, potente e orientato agli oggetti alle risorse di Active Directory. Le interfacce ADSI consentono ai programmatori e agli amministratori di creare programmi di directory utilizzando utensili alto livello ad esempio Microsoft Visual Basic, Java, C o Visual C++ senza preoccuparsi delle differenze nello spazio dei nomi. Le interfacce ADSI sono completamente scrivibili, il che le rende facili da utilizzare per gli amministratori.

Infine, come raccomandazioni, elenchiamo quelle sfumature a cui dovresti prestare attenzione quando analizzi i dati dell'elenco utenti che potrebbero indicare problemi esistenti durante l'utilizzo degli account:

  • account bloccati (dopo l'analisi ultimo appuntamento le registrazioni possono essere cancellate se non sono più necessarie);
  • le informazioni sull'account secondo cui l'ultima registrazione online è avvenuta tre o più mesi fa possono indicare che il dipendente proprietario dell'account è già stato licenziato;
  • se il numero di registrazioni online di un account è pari a zero ed è trascorso più di un mese dalla sua creazione, ciò potrebbe indicare che l'account creato non è stato rivendicato;
  • Un gran numero di registrazioni online può indicare che l'account viene utilizzato per accedere alla rete da più del semplice proprietario.

Windows e AD dispongono di attributi che consentono di tenere traccia degli eventi recenti di registrazione dell'avvio della sessione, ma analizzarli richiede troppo lavoro. Un'opzione prevede il recupero degli eventi di registrazione su ciascun controller di dominio (DC) e l'ordinamento per data e utente per identificare le istanze più recenti per ciascun utente. Un'altra opzione consiste nel controllare i valori degli attributi utente lastlogon di AD, anch'essi non replicati dai controller di dominio. Pertanto, come nel primo caso, si dovranno recuperare i valori lastlogon da ogni DC di un dato dominio, e poi si dovranno allocare per ogni utente le istanze più recenti.

In Windows Server 2003 e altre versioni in esecuzione a livelli funzionali di dominio più elevati, è presente un attributo lastlogontimestamp di AD che viene replicato tra controller di dominio. I valori di questo attributo sono memorizzati come numeri interi lunghi (al momento in cui scrivo, il valore del mio attributo lastlogontimestamp è 129623232699932000), che sono difficili da leggere. Tuttavia, gli sviluppatori di PowerShell per AD hanno fornito un modo per convertire questo numero in un valore visivo chiamato LastLogonDate, che assomiglia a questo: sabato 8 ottobre 2011 13:07:18. A questo valore accede Get-ADUser.

Sapendo questo, puoi visualizzare un elenco di utenti ordinati in base alla data dell'ultima registrazione nel dominio:

Get-aduser -f * -pr lastlogondate|sort -property lastlogondate|ft samaccountname, lastlogondate -auto

Pertanto, puoi interrogare qualsiasi controller di dominio e scoprire se ci sono utenti nel dominio che hanno effettuato l'ultimo accesso al dominio, ad esempio, il 22 settembre 2011. Tuttavia, ci sono alcune sfumature qui. L'attributo lastlogontimestamp è stato aggiunto ad AD a vantaggio degli amministratori di AD che desideravano un modo per monitorare gli eventi di registrazione dell'avvio della sessione, ma Redmond temeva che l'aggiunta di qualsiasi tipo di meccanismo di tracciamento avrebbe aumentato significativamente il traffico di replica di AD.

Per ridurre il traffico associato alla replica dei valori dell'attributo lastlogontimestamp, i controller di dominio aggiornano questo valore non più di ogni 9-14 giorni. Ogni volta che un utente accede, il controller di dominio esamina l'attuale lastlogontimestamp dell'utente. DC quindi sceglie numero casuale compreso tra 9 e 14. Se il numero di giorni tra l'ultimo evento di accesso e l'ora corrente è inferiore a un numero casuale selezionato, DC non aggiorna il valore lastlogontimestamp per dato utente. Pertanto, il valore lastlogontimestamp di ciascun utente viene aggiornato solo una volta ogni 12 giorni circa, indipendentemente dalla frequenza con cui l'utente avvia la sessione durante di questo periodo. Questi dati non sono molto accurati, ma possono ridurre il traffico di replica.

Diciamo che mi registro a mezzogiorno del 20 gennaio 2012 e prima non ho effettuato l'accesso al dominio dalle 9:00 del 9 gennaio di quest'anno. Quindi la mia sessione non è stata registrata per 11,25 giorni. La mia CD sceglie un numero casuale compreso tra 9 e 14, diciamo 13,44. Questo numero (13.44) è maggiore dell'intervallo di tempo tra gli ultimi due eventi di accesso (11.25), quindi DC non modifica il valore lastlogontimestamp dopo di questo lancio sessione. Pertanto l'attributo lastlogontimestamp, pur essendo sicuramente utile, può contenere informazioni errate per 14 giorni e non consentire di identificare gli utenti che non si sono registrati al dominio nelle ultime due settimane. Tuttavia, per cercare utenti inattivi, ad esempio, negli ultimi sei mesi, è molto conveniente.

Puoi esercitarti a trovare gli utenti che non hanno effettuato l'accesso negli ultimi 180 giorni utilizzando Get-ADUser, ma gli sviluppatori di AD PowerShell ci hanno reso più semplice creando il comando search-adaccount per eseguire questa query:

Cerca-adaccount -accountinattivo -usersonally -timespan "195"

La richiesta sembra semplice, ma la squadra ha due punti non evidenti. Innanzitutto, notiamo virgolette, che circonda il numero 195 ( requisito obbligatorio parametro -intervallo di tempo). In secondo luogo, nota il numero 195 invece di 180. Ricorda inoltre che l'attributo lastlogontimestamp è disponibile solo per un dominio con un livello funzionale minimo di Windows 2003. Il comando search-adaccount ha una funzionalità che richiede l'aggiunta di 15 al periodo di controllo di inattività ( in realtà il numero sommato non è esattamente uguale a 15). Parlerò della causa di questo requisito, di come scoprire il valore esatto aggiunto e di una sintassi alternativa per la ricerca di utenti inattivi nel prossimo articolo.

Mark Minasi (www.minasi.com/gethelp) - Redattore senior Registro di Windows Professionista IT, ingegnere di sistema certificato per prodotti Microsoft

I migliori articoli sull'argomento