Il modulo di PowerShell, che si chiama Microsoft.PowerShell.LocalAccounts, permette attraverso i suoi cmdlet di gestire tutti gli account, e i gruppi, presenti nel sistema operativo, creandone dei nuovi, cancellandoli o rinominandoli.

Il primo cmdlet da usare, per vedere gli account presenti nel sistema operativo, è Get-LocalUser. Con questo cmdlet otteniamo il Name dell’account, se è attivo o meno (Enabled) e la descrizione dell’account.

Come gestire account locali gruppi sistema operativo tramite PowerShell

Per vedere tutti i cmdlet presenti nel modulo Microsoft.PowerShell.LocalAccounts possiamo utilizzare il comando Get-Command -Module Microsoft.PowerShell.LocalAccounts. Anche se in inglese, il loro significato e utilizzo, è abbastanza intuitivo.

Come gestire account locali gruppi sistema operativo tramite PowerShell

I cmdlet che vedremo in seguito sono i sostituti dei vecchi comandi lusrmgr.msc, net user o net localgroup.

Come tutti gli altri comandi di PowerShell sono magari più difficili da ricordare, almeno sino a quando non ci si abitua ad usarli, sono difficili da “digerire” per chi è abituato da anni ad utilizzare un ping, o un net user, per fare le cose, però questi cmdlet permettono di creare script particolari per gestire operazioni ripetitive, anche da remoto, che a lungo andare possono fare la differenza.

Alcuni di questi comandi, una volta usati, non danno una risposta a video, per cui basta aggiungere il nome dell’account al cmdlet ed eseguirlo. In questo modo attiviamo/disattiviamo l’account Zane nel sistema operativo.

Come gestire account locali gruppi sistema operativo tramite PowerShell

Creazione/rimozione di un account

Se quando tentate di creare un nuovo account con PowerShell ottenete un messaggio d’errore rosso come quello che vedete nella foto, utilizzate il comando import-module microsoft.powershell.localaccounts -UseWindowsPowerShell.

Nonostante il Warning che si ottiene, e l’invito ad aggiungere una opzione al comando appena usato, vedo che poi si riesce lo stesso a creare i nuovi account.

Come gestire account locali gruppi sistema operativo tramite PowerShell

Il comando da usare per la creazione dell’account è New-LocalUser -Name "Zanettini" -FullName "Zane TurboLab" -Description "User for tests"

Invece per la rimozione dell’account si utilizza remove-LocalUser -Name "Zanettini"

In fase di creazione dell’account vi chiederà di inserire anche la relativa password da utilizzare.

Come gestire account locali gruppi sistema operativo tramite PowerShell

Tra le altre opzioni che possiamo aggiungere nella creazione dell’account ci sono:

  • -AccountExpires imposta la data di scadenza dell’account dopo la quale sarà disattivato.
  • -AccountNeverExpires l’account non scade mai.
  • -Disabled disattiva l’account dopo che è stato creato. Lo si riattiva solo quando servirà effettivamente.
  • -PasswordNeverExpires la password non scade mai.
  • -UserMayNotChangePassword la password non si può cambiare.

Informazioni utente

Per ottenere informazioni più dettagliate su un singolo utente potete usare il comando Get-LocalUser -Name zanettini | Select-Object *

Come gestire account locali gruppi sistema operativo tramite PowerShell

Rinominare account/gruppo

Con questi due comandi Rename-LocalUser -Name "zanettini" -NewName "Zane" e Rename-LocalGroup -Name “Turbolab.it” -NewName “TurboLab.it” potete cambiare il nome dell’account e del gruppo.

Come gestire account locali gruppi sistema operativo tramite PowerShell

Come vedete la procedura è simile, cambia solo il -localuser in -localgroup.

I gruppi

Con Get-LocalGroup potete vedere i gruppi presenti, mentre Get-localgroupmember gruppo mostra quali sono gli account locali di quel determinato gruppo.

Come gestire account locali gruppi sistema operativo tramite PowerShell

Aggiungere l’utente al gruppo

Con questo comando Add-LocalGroupMember -Group Turbolab.it -Member Zane inseriamo l’account Zane nel gruppo di Turbolab.it.

Come gestire account locali gruppi sistema operativo tramite PowerShell

Creazione/rimozione di un Gruppo

In un Gruppo, in particolare in ambito aziendale, si possono raccogliere determinati utenti che hanno dei permessi particolari per fare certe operazioni. I comandi di creazione/rimozione sono simili a quelli appena visti per il singolo utente.

Come gestire account locali gruppi sistema operativo tramite PowerShell

Per ulteriori informazioni su questo modulo e i vari cmdlet utilizzabili, potete consultare la relativa pagina Microsoft.