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.
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.
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.
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.
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.
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 *
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 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.
Aggiungere l’utente al gruppo
Con questo comando Add-LocalGroupMember -Group Turbolab.it -Member Zane
inseriamo l’account Zane nel gruppo di Turbolab.it.
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.
Per ulteriori informazioni su questo modulo e i vari cmdlet utilizzabili, potete consultare la relativa pagina Microsoft.