Come aggiungere e rimuovere gruppi AD e oggetti nei gruppi con PowerShell
Jun 19, 2018
Microsoft Active Directory funge da punto centralizzato per l'amministrazione, l'autorizzazione e l'autenticazione. In AD, l'accesso alle risorse di rete è concesso a principi di sicurezza, come account utente e account computer, e tali permessi possono cambiare nel tempo. Per semplificare la gestione degli accessi e migliorare la sicurezza, le aziende medie e grandi utilizzano spesso Active Directory security groups, che possono contenere account utente, account computer e altri gruppi. Utilizzano spesso anche gruppi di distribuzione per gestire le liste di distribuzione delle email. Sia i gruppi di sicurezza che quelli di distribuzione hanno identificatori di sicurezza univoci (SIDs) e identificatori globali univoci (GUIDs).
Contenuti correlati selezionati:
Il componente aggiuntivo MMC ADUC è ottimo per gestire entrambi i tipi di gruppi, ma PowerShell è un modo molto più efficiente per gestirli in massa.
Se non sei già a conoscenza dei gruppi AD e della gestione dei gruppi, ti preghiamo di leggere la guida Active Directory Group Management Best Practice prima di procedere.
Inoltre, ricorda che per utilizzare questi script PowerShell, devi importare il modulo per interagire con AD — il modulo Active Directory per Microsoft Windows PowerShell. Questo modulo è stato introdotto in Windows Server 2008 R2 ed è abilitato per impostazione predefinita in Windows Server 2012 e versioni successive. Puoi ottenere l'elenco completo dei cmdlet del modulo AD eseguendo il seguente comando:
Get-Command -Module ActiveDirectory
L'elenco completo contiene 147 cmdlet; tuttavia, solo questi undici sono relativi ai gruppi di Active Directory:
- Add-ADGroupMember
- Add-ADPrincipalGroupMembership
- Get-ADAccountAuthorizationGroup
- Get-ADGroup
- Get-ADGroupMember
- Get-ADPrincipalGroupMembership
- New-ADGroup
- Remove-ADGroup
- Remove-ADGroupMember
- Remove-ADPrincipalGroupMembership
- Set-ADGroup
Creazione di un gruppo Active Directory con PowerShell
Per creare un gruppo AD, utilizza il cmdlet New-ADGroup. Puoi ottenere la sua sintassi eseguendo il seguente comando:
Get-Command New-ADGroup –Syntax
Il modo più semplice per creare un gruppo è eseguire questo breve script:
New-ADGroup "Group Name"
Il sistema ti chiederà di specificare il parametro “GroupScope” e poi creerà un nuovo gruppo. Tuttavia, questo gruppo avrà valori predefiniti, come:
- Sarà creato nel contenitore LDAP predefinito chiamato “Users”.
- Avrà il tipo di gruppo “Security”.
- I campi relativi ai membri, membro di, descrizione, email e note saranno tutti vuoti.
Immaginiamo di voler creare un gruppo di sicurezza chiamato “Quality” sul nostro AD DC. Utilizziamo i seguenti parametri: dovrebbe trovarsi nell'OU “Production” (-Path), dovrebbe essere un gruppo di sicurezza (-GroupCategory), e dovrebbe essere globale (-GroupScope).
New-ADGroup "Quality" -Path "OU=Production,DC=enterprise,dc=com" -GroupCategory Security -GroupScope Global -PassThru –Verbose
Se vuoi creare un gruppo di distribuzione universale, cambia semplicemente il parametro –GroupCategory in “Distribution” e il parametro –GroupScope in “Universal”. Puoi anche cambiare il percorso LDAP modificando il parametro –Path.
Eliminazione di un gruppo Active Directory con PowerShell
Per eliminare un gruppo AD, utilizzare il cmdlet Remove-ADGroup. Lo script più semplice per farlo sarà così:
Remove-ADGroup -Identity Quality
Sarai invitato a confermare l'eliminazione del gruppo.
Aggiunta di utenti e computer a un gruppo con PowerShell
È possibile aggiungere utenti a un gruppo AD con il cmdlet Add-AdGroupMember. Ad esempio, se si necessita di aggiungere due utenti, B.Jackson e E.Franklin, al gruppo “Quality”, ecco come si presenterebbe lo script:
Add-AdGroupMember -Identity Quality -Members B.Jackson, E.Franklin
Una volta aggiunti gli utenti a un gruppo di sicurezza, puoi eseguire lo script sottostante per verificare che siano elencati come membri:
Get-ADGroupMember -Identity Quality
Se devi aggiungere utenti ad un altro gruppo di sicurezza o di distribuzione, come “Domain Admins”, specifica “Domain Admins” come valore per il parametro –Identity. Se hai bisogno che un gruppo sia membro di un altro, specifica il nome del gruppo come valore per il parametro –Members. Lo stesso principio si applica agli account computer, ma dovrai aggiungere un segno di dollaro ($) alla fine del nome dell'account computer. Ad esempio, per aggiungere il computer “WKS043” a un gruppo, specifica “WKS043$” come valore per il parametro –Member:
Add-AdGroupMember -Identity Quality -Members WKS043$
Contenuti correlati selezionati:
Aggiungere un utente a più gruppi
Per aggiungere un utente a più gruppi contemporaneamente, esegui lo script seguente.
"Managers","Quality" | Add-ADGroupMember -Members `
(Read-Host -Prompt "Enter User Name")
Aggiunta di utenti a un gruppo da un file CSV
Se vuoi aggiungere un gran numero di utenti a un gruppo, puoi specificarli in un file CSV e poi importare quel file. Nota che l'elenco dei nomi utente nel file CSV deve contenere i SamAccountNames nella colonna “utenti”.
Per aggiungere utenti a un gruppo da un file CSV, eseguire il seguente script PowerShell:
Import-CSV C:scriptsusers.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "Quality" -members $_.users}
Copiare utenti da un gruppo all'altro
Se vuoi copiare tutti i membri da un gruppo all'altro, esegui lo script seguente:
Get-ADGroupMember “Quality” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “QualityControl” -Members $_}
Rimozione di utenti o computer da un gruppo
Per rimuovere un utente da un gruppo, utilizza il cmdlet Remove-ADGroupMember:
Remove-ADGroupMember -Identity Quality -Members J.Robinson
Per rimuovere un account computer da un gruppo, specificare il nome del computer con un segno di dollaro ($) alla fine per il valore del parametro -Members.
Rimozione di più account utente da un gruppo
Un modo semplice per rimuovere più utenti da un gruppo AD è creare un file CSV con l'elenco dei nomi utente e poi rimuovere quegli utenti dall'oggetto gruppo utilizzando questo script:
Import-CSV C:scriptsusers.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity "Quality" -members $_.users}
Rimozione di un utente da tutti i gruppi
Per rimuovere un utente da tutti i gruppi, esegui questo script:
Get-ADUser -Identity E.Franklin -Properties MemberOf | ForEach-Object {
$_.MemberOf | Remove-ADGroupMember -Members $_.DistinguishedName -Confirm:$false
}
Si noti che l'utente perderà l'appartenenza a tutti i gruppi tranne “Domain Users”, che può essere rimosso manualmente se necessario.
Reporting su Active Directory Groups
Ora che sappiamo come eseguire molte attività comuni di gestione di Active Directory relative ai gruppi utilizzando PowerShell, vediamo come generare un report sui gruppi esistenti in AD:
Per elencare tutti i gruppi in AD, utilizza lo script sottostante:
Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategory
Certo, vorrai anche esaminare i membri dei gruppi AD e le modifiche all’appartenenza ai gruppi AD. Ecco i link alle istruzioni per eseguire questi compiti più complessi:
- Come monitorare i cambiamenti nell'appartenenza ai gruppi di Active Directory
- Come ottenere i report dell'appartenenza ai gruppi di utenti AD
- Come esportare i membri di un particolare gruppo AD
- Gestione delle OU e spostamento dei loro oggetti con PowerShell
Conclusione
Ora che hai imparato a gestire gruppi e appartenenze di gruppo in Active Directory utilizzando script PowerShell, prova a eseguire alcune delle attività di gestione dei gruppi da solo. Tuttavia, fai attenzione e non dimenticare di enable the Active Directory Recycle Bin feature in modo da poter facilmente annullare le modifiche se qualcosa va storto. Ricorda, lo snap-in MMC ADUC è ottimo per gestire gruppi e appartenenze di gruppo, ma PowerShell è molto meglio per gestire gruppi in massa.
Condividi su
Scopri di più
Informazioni sull'autore
Jeff Melnick
Direttore dell'Ingegneria dei Sistemi
Jeff è un ex Direttore dell'Ingegneria delle Soluzioni Globali presso Netwrix. È un blogger di Netwrix da lungo tempo, nonché relatore e presentatore. Nel blog di Netwrix, Jeff condivide lifehack, consigli e trucchi che possono migliorare notevolmente la tua esperienza di amministrazione del sistema.
Scopri di più su questo argomento
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?
Analisi quantitativa del rischio: Aspettativa di perdita annuale