Utilizzando il modulo PowerShell ActiveDirectory, è possibile interrogare i gruppi AD con Get-AdGroup, aggiungere, aggiornare e rimuovere gruppi e membri del gruppo. In questo post del blog, imparerai un po’ sui cmdlet PowerShell del gruppo Active Directory con un sacco di esempi di riferimento.
Cmdlet del gruppo Active Directory
Una volta installato il modulo PowerShell ActiveDirectory, troverai alcuni cmdlet disponibili per gestire i gruppi.
Cmdlet Name | Description |
Add-ADGroupMember | Used to add members to an AD group. |
Add-ADPrincipalGroupMembership | Used to add an AD principal to AD groups. |
Get-ADGroup | Used to return a group or groups from AD. |
Get-ADGroupMember | Used to return the members of an AD group. |
Get-ADPrincipalGroupMembership | Used to get the groups an AD principal is a member of. |
New-ADGroup | Used to create a new AD group. |
Remove-ADGroup | Used to delete an AD group. |
Remove-ADGroupMember | Used to remove members from an AD group. |
Remove-ADPrincipalGroupMembership | Used to remove an AD principal from AD groups. |
Set-ADGroup | Used to set the properties of an AD group. |
Utilizzando questi cmdlet e un po’ di kung-fu PowerShell, puoi gestire ogni aspetto del gruppo Active Directory con PowerShell.
Trova i membri di un gruppo con Get-ADGroupMember
Il cmdlet Get-AdGroupMember
restituisce tutti i membri di un gruppo.
In alternativa, potresti fare riferimento alla proprietà memberOf
su un utente specifico utilizzando il cmdlet Get-Aduser
. Per un ripasso su come creare filtri, dai un’occhiata a Learning Active Directory Directory and LDAP Filters in PowerShell.
Ecco due esempi.
Ciò restituisce una raccolta di oggetti ADPrincipal.
Esporta i membri di un gruppo in un file CSV.
Esporta il nome, il cognome e l’indirizzo email di ciascun utente. Inoltra i risultati di Get-ADGroupMember
a Get-ADUser
perché questi sono oggetti ADPrincipal che non hanno tutte le proprietà degli oggetti ADUser.
Nota l’uso del parametro
NoTypeInformation
diExport-CSV
per assicurarsi che il file CSV sia compatibile con altre applicazioni.
Trova gruppi senza membri con Get-ADGroup
Usa Get-AdGroup
per trovare gruppi utilizzando filtri. Di seguito sono riportati due esempi.
Crea un nuovo gruppo di sicurezza con New-ADGroup
Puoi creare un nuovo gruppo di sicurezza utilizzando il comando New-AdGroup
.
Se non viene fornito il parametro Path
, il nuovo gruppo verrà creato nel contenitore Utenti. Lo scopo del gruppo deve essere DomainLocal
, Global
o Universal
.
Crea un nuovo gruppo di distribuzione con New-ADGroup
Usa nuovamente New-AdGroup
per creare un gruppo di distribuzione. Questa volta, scegli una GroupCategory
di Distribution
.
Aggiungi membri a un gruppo con Add-ADGroupMember
Puoi aggiungere utenti a un gruppo di Active Directory utilizzando il cmdlet Add-AdGroupMember
o il cmdlet Add-ADPrincipalGroupMembership
.
Questo comando specifica il gruppo come Identity.
Questo comando specifica il principale AD come Identity.
Scrivi alla proprietà Note
di un gruppo con Set-ADGroup
Il campo denominato Note in ADUC è rappresentato dalla proprietà Info
restituita da Get-AdGroup
.
Innanzitutto, trova il gruppo da modificare, imposta la proprietà Info
e quindi utilizza Set-AdGroup
per applicare la modifica ad AD.
Rimuovi i membri del gruppo con Remove-ADGroupMember
Come tutti i cmdlet di PowerShell, è possibile utilizzare il parametro Confirm
per essere avvisati prima di apportare una modifica. Questo comportamento si applica anche ai cmdlet Remove-AdGroupMember
e Remove-ADPrincipalGroupMembership
.
In seguito puoi rimuovere i membri del gruppo senza conferma.
O puoi scegliere di rimuovere i membri del gruppo con conferma utilizzando il parametro Confirm
.
Elimina un gruppo con Remove-ADGroup
Elimina un gruppo senza conferma e con conferma.
Rinomina un gruppo con Rename-ADObject
È possibile rinominare un gruppo tramite una riga di comando utilizzando Rename-ADObject
.
Ottieni il numero di gruppi con Get-ADGroup
Hai bisogno di trovare il numero totale di gruppi restituiti da Get-AdGroup
? Utilizza la proprietà Count
.
Trova gruppi con un responsabile utilizzando Get-ADGroup
Filtra tutti i gruppi che hanno un responsabile assegnato utilizzando Get-AdGroup
e un ben strutturato filtro LDAP.
Non esiste un filtro equivalente in PowerShell per questo.
Trova i gruppi gestiti da un utente specifico con Get-ADGroup
Migliora le tue abilità di filtro e trova tutti i gruppi gestiti da un utente specifico utilizzando un filtro PowerShell o un filtro LDAP.
Imposta il responsabile del gruppo con Set-ADGroup
La scheda Gestito da in ADUC per i gruppi consente di designare una persona responsabile dell’appartenenza al gruppo. Questo non significa automaticamente che il responsabile possa modificare l’appartenenza al gruppo. Per rendere ciò possibile, è necessario modificare i permessi di sicurezza sulla proprietà Membro del gruppo in questione.
Selezionando la casella Il responsabile può aggiornare l’elenco dei membri per un gruppo in Active Directory Users and Computers (ADUC), vengono modificate le autorizzazioni per consentirlo.

Utilizza il comando Set-ADGroup
per impostare l’attributo GestitoDa:
L’aggiornamento della lista di controllo degli accessi richiede alcuni passaggi aggiuntivi. Il seguente frammento di codice concede all’utente Kristin Diaz la possibilità di gestire l’appartenenza al gruppo. bf9679c0-0de6-11d0-a285-00aa003049e2 è il GUID per la proprietà Membro
del gruppo.
Se Kristin è anche impostata come responsabile del gruppo, la casella di selezione sarà spuntata. In caso contrario, Kristin sarà comunque in grado di gestire l’appartenenza al gruppo, ma non verrà mostrata come responsabile in ADUC.
Trova password trapelate e non sicure nel tuo Active Directory controllando la lista delle password NCSC.
Trova tutti i gruppi di sicurezza
Elencare tutti i gruppi di sicurezza nell’Active Directory con PowerShell limitando la ricerca solo ai gruppi di sicurezza con questi due esempi. Qual è quel filtro LDAP, chiedi? Scopri tutto sui filtri LDAP.
Trova i gruppi di distribuzione
Utilizza PowerShell per elencare i gruppi di Active Directory (distribuzione) che escludono i gruppi di sicurezza con questi due esempi.
Trova l’appartenenza a un gruppo per un utente con Get-ADPrincipalGroupMembership
Nota che questo comando richiede accesso a un catalogo globale.
Trova gruppi in una OU, escludendo eventuali sub-OU
Diventa più dettagliato utilizzando il parametro SearchBase
per limitare la ricerca a una singola OU con questi due esempi.
Trova gruppi in una OU, inclusi eventuali sub-OU
Hai bisogno di trovare tutti i gruppi nelle sotto-OU? Utilizza un SearchScope
di SubTree
.
Sommario
Questo conclude la nostra dimostrazione basata su esempi sulla gestione dei gruppi AD con PowerShell. Prendine alcuni, provali nella tua organizzazione e inizia ad automatizzare!