Come disabilitare gli account utente inattivi utilizzando PowerShell
Mar 17, 2015
Gli account utente inattivi di Active Directory (AD) possono rappresentare un rischio per la sicurezza delle organizzazioni, in situazioni come quando ex dipendenti hanno ancora account attivi mesi dopo aver lasciato l'azienda perché le Risorse Umane non hanno informato l'IT, oppure quando gli account vengono creati per uno scopo particolare ma non vengono mai eliminati dopo l'evento. Qualunque sia la ragione dell'esistenza di tali account, Active Directory può rapidamente andare fuori controllo, rendendo a sua volta i vostri sistemi più difficili da auditare e meno sicuri.
Modulo Active Directory per PowerShell
Il modulo PowerShell per Active Directory consente agli amministratori di sistema di interrogare Active Directory e generare report utilizzando i dati risultanti. Il modulo AD per PowerShell è installato di default sui controller di dominio Windows Server 2012, oppure puoi scaricare il Remote Server Administration Tools (RSAT) per Windows 8.1 e installare il modulo utilizzando il comando sottostante.
Accedi come amministratore locale, apri un prompt di PowerShell, digita il codice sottostante e premi INVIO per installare il modulo AD per PowerShell:
Install-WindowsFeature RSAT-AD-PowerShell
Cerca nel Active Directory gli account inattivi
Il cmdlet Search-ADAccount offre un modo semplice per interrogare Active Directory alla ricerca di account utente inattivi:
Search-ADAccount –UsersOnly –AccountInactive
Il comando sopra restituisce tutti gli account inattivi. Per restringere i risultati a un intervallo di tempo specifico, puoi aggiungere il parametro –TimeSpan a Search-ADAccount. Nell'esempio sottostante, una variabile definisce il valore per il parametro –TimeSpan utilizzando il cmdlet New-Timespan per semplificare l'input:
$timespan = New-Timespan –Days 90 Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan
Alternatively, you can specify the –DateTime parameter to return accounts that have been inactive since a given date. In the command that follows, accounts not active since May 5th 2014 are returned:
Search-ADAccount –UsersOnly –AccountInactive -DateTime ‘5/20/2014’
Per ottenere informazioni più accessibili sugli account, inoltra i risultati al cmdlet Get-ADUser e poi scegli le colonne da visualizzare nell'output utilizzando Select:
Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Select Name,Department,Title,DistinguishedName
I risultati possono anche essere ordinati per un campo specificato, in questo esempio per l'attributo LastLogOnDate, che deriva da LastLogonTimestamp e convertito in un formato leggibile:
Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Sort LastLogOnDate | Select Name,Department,Title,DistinguishedName
È importante notare che a differenza dell'attributo LastLogOn, LastLogonTimestamp è sincronizzato tra i controller di dominio, ma può essere vecchio di 9 a 14 giorni, quindi dovresti tenere presente questo quando elabori i tuoi risultati.
Un altro modo per semplificare l'output e contare il numero di utenti inattivi è inviare i risultati al cmdlet Measure:
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Measure
Come con qualsiasi altro cmdlet di PowerShell, i risultati possono essere inoltrati a Out-GridView, o in un file delimitato da virgole in modo che i risultati possano essere importati in Excel.
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Out-GridView
Disabilita Account Inattivi
Una volta ottenuto l'insieme di risultati che stai cercando, tutto ciò che devi fare è inoltrarli al cmdlet Disable-ADAccount come mostrato qui per disabilitare gli account:
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Disable-ADAccount
Netwrix Auditor include la capacità di rilevare e disabilitare account utente inattivi su tutte le versioni supportate di Windows, e i risultati sono integrati nel database, nelle funzionalità di reportistica e notifica del prodotto in modo che non sia necessario eseguire e mantenere script aggiuntivi separatamente. Netwrix Auditor può disabilitare account inattivi, impostare una password casuale, spostare gli account in una Unità Organizzativa (OU) designata, o eliminare gli account.
Ora è il momento di lasciare la tua opinione nel sondaggio qui sotto. Ricorda che c'è solo una risposta corretta!
Condividi su
Scopri di più
Informazioni sull'autore
Russell Smith
Consulente IT
Consulente IT e autore specializzato in tecnologie di gestione e sicurezza. Russell ha più di 15 anni di esperienza nel settore IT, ha scritto un libro sulla sicurezza di Windows e ha coautore di un testo per la serie Microsoft’s Official Academic Course (MOAC).
Scopri di più su questo argomento
Gestione della configurazione per il controllo sicuro degli endpoint
Leggi sulla Privacy dei Dati per Stato: Diversi Approcci alla Protezione della Privacy
Esempio di Analisi del Rischio: Come Valutare i Rischi
Il Triangolo CIA e la sua applicazione nel mondo reale
Cos'è la gestione dei documenti elettronici?