Come trovare l'utente che ha utilizzato per ultimo un PC Windows

I comandi per scoprire subito il nome dell'utente che ha usato per ultimo un sistema Windows effettuando il login con il suo account.

Nell’ambito di una rete di dimensioni importanti alcuni sistemi Windows possono essere condivisi tra più utenti, ciascuno dotato del suo account.
In alcune occasioni potrebbe risultare utile risalire al nome dell’account che per ultimo ha utilizzato un PC Windows.

Per trovare l’utente che ha usato per ultimo un sistema Windows non sono necessarie utilità di terze parti: il sistema operativo Microsoft annota infatti in una chiave del registro (vedere Regedit e registro di sistema: guida agli aspetti più utili) tale informazione.

Per recuperarla dal sistema locale basta digitare quanto segue dal prompt dei comandi (finestra cmd) o da Windows PowerShell aperti con i diritti di amministratore:
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI /v LastLoggedOnUser
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI /v LastLoggedOnDisplayName

Il primo comando restituisce l’identificativo dell’account (corrisponde al nome della cartella che si trova all’interno di C:\Users), il secondo il nome associato all’account stesso.

Si può anche usare una cmdlet PowerShell incollando nella finestra il comando che segue (tutto su una riga):

$regpath='HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI';
$regvalue = Get-ItemProperty -Path $regpath;
$regvalue.LastLoggedOnUser;$regvalue.LastLoggedOnDisplayName

Attivando il servizio Windows Remote Management (WinRM) è possibile anche accedere al dato sull’ultimo utente che ha effettuato il login su un sistema Windows remoto da una semplice finestra PowerShell.

Per procedere in tal senso è necessario seguire le indicazioni pubblicate nell’articolo Gestire PC in rete locale con PowerShell: effettuato il login sul sistema Windows remoto con le credenziali corrette, si potrà impartire il comando seguente per raccogliere informazioni sull’ultimo utente che ha effettuato il login (da incollare tutto su una riga):

$computer=Read-Host 'Computer';
Invoke-Command -ComputerName $computer -ScriptBlock {$regpath = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI'; $regvalue = Get-ItemProperty -Path $regpath;
$regvalue.LastLoggedOnUser; $regvalue.LastLoggedOnDisplayName}

In corrispondenza della richiesta Computer bisognerà indicare il nome del PC collegato in rete al quale ci si vuole collegare. Tale nome può essere letto dalla finestra Rete di Windows oppure recuperato, sul singolo sistema, digitando hostname al prompt dei comandi o in una finestra PowerShell oppure, ancora, premendo Windows+R quindi scrivendo sysdm.cpl.

Ti consigliamo anche

Link copiato negli appunti