Active Directory - PowerShell

PowerShell e Active Directory: Gestione gruppi

I gruppi Active Directory servono a organizzare utenti e assegnare permessi in modo centralizzato. Con PowerShell è possibile creare gruppi, aggiungere e rimuovere membri e verificarne il contenuto in pochi comandi.

I cmdlet utilizzati fanno parte del modulo ActiveDirectory

Import-Module ActiveDirectory

Sintassi dei comandi

Cercare un gruppo

# Per nome esatto
Get-ADGroup -Identity "GRP_IT"

# Ricerca con filtro
Get-ADGroup -Filter {Name -like "GRP_*"} | Select-Object Name, GroupScope, GroupCategory

Creare un nuovo gruppo

New-ADGroup `
    -Name "GRP_IT" `
    -SamAccountName "GRP_IT" `
    -GroupScope Global `
    -GroupCategory Security `
    -Path "OU=Gruppi,DC=dominio,DC=local" `
    -Description "Gruppo team IT"
  • GroupScope può essere: DomainLocal, Global, Universal
  • GroupCategory può essere: Security (per permessi), Distribution (per email)

Visualizzare i membri di un gruppo

Get-ADGroupMember -Identity "GRP_IT" | Select-Object Name, SamAccountName, objectClass

Aggiungere membri a un gruppo

# Singolo utente
Add-ADGroupMember -Identity "GRP_IT" -Members "mario.rossi"

# Più utenti contemporaneamente
Add-ADGroupMember -Identity "GRP_IT" -Members "mario.rossi", "laura.bianchi", "marco.verdi"

Rimuovere membri da un gruppo

# Singolo utente
Remove-ADGroupMember -Identity "GRP_IT" -Members "mario.rossi" -Confirm:$false

# Più utenti contemporaneamente
Remove-ADGroupMember -Identity "GRP_IT" -Members "mario.rossi", "laura.bianchi" -Confirm:$false

Eliminare un gruppo

Remove-ADGroup -Identity "GRP_IT" -Confirm:$false

Esempio di utilizzo

Scenario: creare il gruppo del team IT, aggiungere tre utenti, verificare i membri e rimuoverne uno

# 1. Creare il gruppo
New-ADGroup `
    -Name "GRP_IT" `
    -SamAccountName "GRP_IT" `
    -GroupScope Global `
    -GroupCategory Security `
    -Path "OU=Gruppi,DC=dominio,DC=local" `
    -Description "Gruppo team IT"

# 2. Aggiungere i membri
Add-ADGroupMember -Identity "GRP_IT" -Members "mario.rossi", "laura.bianchi", "marco.verdi"

# 3. Verificare i membri
Get-ADGroupMember -Identity "GRP_IT" | Select-Object Name, SamAccountName

# 4. Rimuovere un utente che ha cambiato team
Remove-ADGroupMember -Identity "GRP_IT" -Members "marco.verdi" -Confirm:$false

# 5. Verifica finale
Get-ADGroupMember -Identity "GRP_IT" | Select-Object Name, SamAccountName

Output atteso dopo il passaggio 3

Name          SamAccountName
----          --------------
Mario Rossi   mario.rossi
Laura Bianchi laura.bianchi
Marco Verdi   marco.verdi

Output atteso dopo il passaggio 5

Name          SamAccountName
----          --------------
Mario Rossi   mario.rossi
Laura Bianchi laura.bianchi