Come Trovare il Tempo dell’Ultimo Accesso degli Utenti di Active Directory (Utilizzando ADUC)

Come trovare l’ultima ora di accesso degli utenti del Directory Attivo (utilizzando ADUC). Il Directory Attivo è un componente centrale di molte reti basate su Windows e funge da database contenente gli utenti, i gruppi, e i computer che gli amministratori di sistema gestiscono. Un compito cruciale per gli amministratori di sistema è identificare account utenti inattivi in Directory Attivo e rimuoverli per migliorare la sicurezza e ridurre la confusione nella directory. Per fare questo, gli amministratori devono trovare l’ultima ora di accesso di un utente in Directory Attivo. Esistono diversi metodi per raggiungere questo scopo, inclusa la console degli utenti e dei computer di Directory Attivo, le query LDAP, e i comandi PowerShell. In questo argomento, guarderemo questi metodi in dettaglio e mostreremo come gli amministratori di sistema possono facilmente trovare l’ultima ora di accesso di un utente in Directory Attivo.

Esistono diversi metodi per ottenere questo risultato, tra cui la console Active Directory Users and Computers, query LDAP e PowerShell comandi. In questo argomento, approfondiamo questi metodi e mostriamo come gli amministratori di sistema possono facilmente trovare l’ultima ora di accesso di un utente in Active Directory.

Continuiamo con l’articolo Come trovare l’ultima ora di accesso degli utenti di Active Directory (Utilizzando ADUC).

Come trovare l’ultima ora di accesso degli utenti di Active Directory (Utilizzando ADUC)

Per determinare l’ultima volta che un utente dominio si è connesso, utilizziamo il Active Directory Users and Computers (ADUC) console grafica. Ecco come:

  1. Avvia il dsa.msc console.
  2. Seleziona Visualizza > Funzionalità avanzate dal menu in alto per abilitare questa opzione.

3. Individua l’utente nell’albero AD e accedi alle sue proprietà.
4. Fai clic sulla scheda Editor attributi.
5. Cerca l’attributo ultimo accesso nell’elenco degli attributi, che mostra l’ora di accesso più recente del dominio dell’utente.

Nota. Il lastLogon lastLogonTimestamp caratteristiche nella schermata qui sopra sono simili. Allora cosa li distingue l’uno dall’altro?

Attributi di timestamp di accesso

  • Quando un utente accede a un dominio, l’attributo lastLogon viene modificato. Tuttavia, cambia solo il controller di dominio che ha fornito l’autenticazione per l’utente non replicato ad altri controller di dominio. Di conseguenza, se sono presenti diversi controller di dominio distribuiti in varie sitedi Active Directory e subnet, dobbiamo controllare questo attributo su ciascun controller di dominio. Quindi dobbiamo confrontare le informazioni ottenute. Il valore di questo attributo per un utente su diversi DC può variare o addirittura essere zero (se l’utente è un utente non autenticato su questo DC);
  • Quando un utente accede a un controller di dominio, anche l’lastLogonTimeStamp viene modificato e lo replicheremo su altri DC. Tuttavia, ci vuole del tempo per replicare questa proprietà (la replicheremo solo se il valore attuale è quattordici (14) giorni o più vecchio del precedente). Di conseguenza, le informazioni in questa proprietà per un determinato DC potrebbero non essere aggiornate.

A partire dalla versione dello schema Windows Server 2008 AD (AD Schema objectVersion = 44), utilizziamo più attributi alternativi correlati all’accesso. Questi includono:

  • msDS-LastFailedInteractiveLogonTime: mostra l’ora dell’ultimo tentativo di accesso non riuscito.
  • msDS-LastSuccessfulInteractiveLogonTime: mostra l’ora dell’ultimo tentativo di accesso riuscito. È essenziale controllare la versione dello schema AD per determinare se è necessario aggiornare lo schema di Active Directory.

Queste proprietà, che utilizziamo per tenere traccia degli accessi interattivi degli utenti, sono spesso duplicate tra i controller di dominio AD. Tuttavia, non raccolgono automaticamente informazioni su preferenze degli utenti.

Prova i nostri strumenti di reportistica e audit di Active Directory & Office 365

Provali gratis per Gratis. Centinaia di modelli di report disponibili. Personalizza facilmente i tuoi report su AD, Azure AD & Office 355.




Abilitazione delle proprietà di accesso utilizzando i criteri di gruppo

Per rendere disponibili queste funzionalità:

  1. Abilita la configurazione del oggetto dei criteri di gruppo (GPO) “Fornisci informazioni sulle connessioni precedenti ai computer client per i controller di dominio” situata in Configurazione del computer > Modelli amministrativi > Sistema > KDC.
  2. Crea un GPO con questo parametro.
  3. Assegna il GPO al contenitore dei Controller di Dominio.

Per generare un elenco di utenti che non hanno effettuato l’accesso al dominio da un po’ di tempo utilizzando una query LDAP nella console grafica del Directory Attivo, segui questi passaggi:

  1. Converti la data desiderata nel formato ToFileTime. Ad esempio, se vogliamo trovare gli utenti che non si sono loggati da oltre 90 giorni, utilizziamo un comando PowerShell per ottenere il valore della data:
(Get-Date).AddDays(-90).ToFileTime()

Questo frammento di codice fornisce un valore in tempo epoca come 132988354159396418 basato sulla data specificata.

2. Inserisci il valore FileTimeDate nella query LDAP:

console.log( 'Code is Poetry' );

3. Apri il console Utenti e computer AD, fai clic destro sul nodo Saved Queries e clicca su Nuovo, quindi su Query.

4. Denomina la query e fai clic sul pulsante Definisci Query.
5.
Scegli Ricerca personalizzata dall’elenco a discesa e passa alla scheda Avanzate.
6. Incolla la query LDAP nel campo Inserisci query LDAP.

7. Salva la query facendo clic su OK e poi conferma con un altro OK.
8. Seleziona la query in Saved Queries e premi F5 per aggiornare l’elenco degli oggetti. Il console ADUC visualizza un elenco piatto degli utenti che hanno effettuato l’ultimo accesso al dominio da oltre 90 giorni.

9. Rimuovi o disabilita gli account utente inattivi del dominio direttamente dal console AD.

Trova l’ultimo tempo di accesso usando CMD

Il prossimo passo, tratto dall’articolo “Come Trovare l’Ultima Ora di Accesso degli Utenti di Active Directory (Utilizzando ADUC)”, è imparare come trovare l’Ultima Ora di Accesso utilizzando CMS. Utilizzando gli strumenti net o dsquery dalla riga di comando, possiamo scoprire quando l’utente si è connesso per l’ultima volta al dominio. Ad esempio, esegui il seguente comando all’interno di una finestra di terminale della riga di comando (non abbiamo bisogno di diritti di amministratore di dominio per ottenere informazioni su utenti AD):

net user administrator /domain | findstr "Last"

Se vogliamo ottenere l’ultima ora di accesso di un utente locale, dobbiamo rimuovere il /domain parametro:

net user User | findstr "Last"

Otteniamo anche l’ultima ora di accesso utilizzando dsquery. Ad esempio:

dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=admin))" -attr distinguishedName lastLogon lastLogonTimestamp -limit 0

Il problema principale è che gli attributi lastLogonTimestamp e lastLogon sono in formato timestamp in AD, e dobbiamo convertirli in un formato di tempo normale.

Utilizziamo questo comando per trovare tutti gli utenti inattivi, ad esempio, per 10 settimane:

dsquery user domainroot -inactive 10

Trova l’ultima ora di accesso utilizzando PowerShell

Utilizziamo anche PowerShell per ottenere l’ultimaora di accesso al dominiodell’utente. Per fare questo, abbiamo bisogno di utilizzare il modulo Active Directory di PowerShell e icomandi di PowerShell. Innanzitutto, apri PowerShell e esegui ilImport-Modulecmdlet per importare il moduloActive Directory:

Import-Module ActiveDirectory
Get-ADUser -Identity username -Properties LastLogon | Select-Object -Property Name, LastLogon

Per trovare gli account che non hanno effettuato l’accesso per un numero specifico di giorni, come ad esempio 90 giorni, utilizziamo un comando PowerShell che filtra gli account utente in base al loro attributo LastLogonTimestamp. Ecco un esempio di comando:

Get-ADUser -Filter {Name -eq "username"} -Properties * |
Select-Object Name, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}

Questo comando cerca gli account che sono stati inattivi per 90 giorni o più e seleziona solo quelli che sono account utente. Visualizza quindi i nomi di quegli account utente e il valore dell’attributo LastLogonTimestamp, che rappresenta l’ultimo accesso dell’utente al dominio.Regoliamo il parametro TimeSpan per cercare gli account che sono stati inattivi per un numero diverso di giorni. Ad esempio, se vogliamo cercare gli account che sono stati inattivi per 60 giorni, impostiamo TimeSpan a 60.00:00:00.Nota che AD aggiorna l’attributo LastLogonTimestamp dopo che un utente accede o esce dal sistema, quindi il valore potrebbe essere parzialmente accurato. Inoltre, questo attributo viene replicato tra i controller di dominio solo ogni 9-14 giorni per impostazione predefinita, quindi potremmo ottenere informazioni aggiornate solo per alcuni account utente.

Trova gli utenti inattivi entro un determinato numero di giorni

Per trovare gli account che non si sono collegati per un numero specifico di giorni, come 90 giorni, utilizziamo un comando PowerShell che filtra gli account utente in base al loro attributo LastLogonTimestamp. Ecco un esempio di comando:

Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | where {$_.ObjectClass -eq 'user'} | Select-Object Name, LastLogonTimestamp

Questo comando cerca gli account che sono stati inattivi per 90 giorni o più e seleziona solo quelli che sono account utente. Mostra quindi i nomi di tali account utente e il valore dell’attributo LastLogonTimestamp, che rappresenta l’ultima volta che l’utente si è collegato al dominio.

Regoliamo il parametro TimeSpan per cercare account che sono stati inattivi per un numero diverso di giorni. Ad esempio, se vogliamo cercare account che sono stati inattivi per 60 giorni, impostiamo TimeSpan su 60.00:00:00.

Si noti che il sistema AD aggiorna l’attributo LastLogonTimestamp dopo che un utente effettua il login o il logout del sistema, quindi il valore potrebbe essere parzialmente accurato. Inoltre, questo attributo viene replicato tra i controller di dominio solo ogni 9-14 giorni per impostazione predefinita, quindi potremmo ottenere informazioni aggiornate solo per alcuni account utente.

Esporta in file CSV

Per esportare l’elenco di account utente inattivi in un file CSV, modifichiamo il comando di PowerShell fornito in precedenza per includere il cmdlet Export-CSV . Ecco un esempio di comando:

Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 |
where {$_.ObjectClass -eq 'user'} |
Select-Object Name, LastLogonTimestamp |
Export-CSV C:\InactiveUsers.csv -NoTypeInformation

Questo comando cerca gli account che sono rimasti inattivi per 90 giorni o più e seleziona solo quelli che sono account utente. Determina quindi le proprietà Nome e LastLogonTimestamp di tali account utente e li esporta in un file CSV situato in “C:\InactiveUsers.csv”.

Il parametro “-NoTypeInformation” specifica che il file CSV non dovrebbe includere le informazioni sul tipo .NET per ciascun oggetto, rendendo il file più facile da leggere. Dopo aver eseguito questo comando, apriamo il file CSV con Excel o qualsiasi altra applicazione per fogli di calcolo per visualizzare l’elenco degli account utenti inattivi e i relativi timestamp dell’ultimo accesso.

Grazie per aver letto l’articolo su Come Trovare l’Ora dell’Ultimo Accesso degli Utenti del Active Directory (Utilizzando ADUC). Lo concluderemo ora.

Conclusione su Come Trovare l’Ora dell’Ultimo Accesso degli Utenti del Active Directory (Utilizzando ADUC)

In conclusione, trovare l’ultima volta in cui un utente si è connesso nell’Active Directory è un compito essenziale per gli amministratori di sistema, poiché consente loro di individuare gli account utente inattivi che possono essere disabilitati o rimossi per migliorare la sicurezza e ridurre l’ingombro nella directory. Questo obiettivo viene raggiunto utilizzando vari metodi, tra cui la console Active Directory Users and Computers, le query LDAP e i comandi PowerShell.

Con gli strumenti e le tecniche giuste, gli amministratori di sistema trovano rapidamente e facilmente l’ultima volta in cui un utente si è connesso nell’Active Directory e intraprendono azioni appropriate per gestire la loro directory in modo efficace.

Source:
https://infrasos.com/how-to-find-active-directory-users-last-logon-time-using-aduc/