Magic Quadrant™ per la gestione degli accessi privilegiati 2025: Netwrix riconosciuta per il quarto anno consecutivo. Scarica il report.

Piattaforma
Centro risorseBlog
Come aggiungere e rimuovere gruppi AD e oggetti nei gruppi con PowerShell

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).

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:

Image
  • 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
      
Image

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
      
Image

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
      
Image

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$
      

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}
      
Image

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
      
Image

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
}
      
Image

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
      
Image

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:

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

Asset Not Found

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.