Come visualizzare informazioni su un Account Utente su Windows Server con PowerShell

Event Viewer: come inviare notifiche e-mail dal Registro Eventi con uno script Powershell

Avete bisogno di recuperare informazioni relative a un account utente, come ad esempio la data di ultimo login o l'ultima volta in cui ha cambiato password? Sfortunatamente l'interfaccia di amministrazione utenti di Windows Server non consente di visualizzare le suddette informazioni in modo rapido. Per nostra fortuna possiamo recuperarle in modo semplice ed efficace grazie a un apposito comando Powershell, ovvero Get-ADUser, disponibile a partire da Windows Server 2008.

Per visualizzare rapidamente tutte le opzioni disponibili, potete visualizzare l'help apposito direttamente da un prompt Powershell digitando il seguente comando:

Per visualizzare le informazioni di connessione e scadenza password relative a un singolo utente, digitate il seguente comando:

Avendo ovviamente cura di sostituire username con il nome dell'utente che volete controllare.

Una volta digitato il comando, potrete vedere a schermo un elenco di proprietà relative all'utente in questione. Quelle che dovete guardare, sempre che non si serva sapere altro, sono le seguenti:

  • LastLogonTimestamp: riferimento temporale che indica l'ultima data e ora di connessione dell'utente. A differenza di LastLogon e LastLogonDate questo valore viene replicato sui vari Domain Controllers ed è quindi l'unico che vale realmente la pena di considerare.
  • LogonCount: valore numerico che restituisce il numero di connessioni effettuate dall'utente.
  • PasswordExpired: valore booleano che restituisce True se la password è scaduta, False in caso contrario.
  • PasswordLastSet: la data in cui è stata impostata la password l'ultima volta.
  • PasswordNeverExpires: valore booleano che restituisce True se la password è configurata per non scadere mai, False in caso contrario.

La documentazione completa del cmdlet GET-ADUser, comprensiva di tutti i campi che non abbiamo elencato, è disponibile a questo indirizzo.

Nel caso in cui ci interessi visualizzare la situazione di tutti gli utenti per questi tre valori, possiamo creare un elenco a tabella mettendo in evidenza solo questi valori:

L'esecuzione del comando ft  presuppone l'utilizzo del cmdlet noto come Format-Table, ampiamente documentato a questo indirizzo.

Nel caso in cui avessimo un gran numero di utenti potremmo inoltre aggiungere al nostro comando l'ordinamento alfabetico per nome:

Anche il comando sort  necessita di un cmdlet apposito, in questo caso Sort-Object, la cui documentazione è disponibile a questo indirizzo.

Infine, nel caso in cui volessimo esportare queste informazioni su un foglio MS Excel anziché limitarci mostrarle a schermo, potremmo modificare leggermente il comando nel seguente modo:

In questo caso andremo a utilizzare due ulteriori cmdlet: Select-Object, documentato a questo indirizzo, e ovviamente Export-csv, il cui funzionamento è spiegato qui.

Per il momento è tutto: felice amministrazione!

EDIT: Nel caso in cui non troviate il comando disponibile, potrebbe essere necessario importare l'apposito modulo per il supporto ActiveDirectory nel seguente modo:

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

2 Comments on “Come visualizzare informazioni su un Account Utente su Windows Server con PowerShell”

  1. Get-ADUser è disponibile da windows SRV 2012 https://technet.microsoft.com/it-it/library/hh852208(v=wps.630).aspx

    1. Provato adesso su un 2008 R2, tutto ok. Assicurati di aver importato il modulo AD con Import-Module ActiveDirectory (ho aggiornato anche il post a riguardo). Fammi sapere!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


The reCAPTCHA verification period has expired. Please reload the page.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.