Gestire i Gruppi di Active Directory con PowerShell: La Guida Definitiva

Come amministratore di sistema Windows, gestire i gruppi di Active Directory (AD) è probabilmente qualcosa che fai ogni giorno. Anche se potresti usare il componente aggiuntivo MMC di Active Directory Users and Computers (ADUC), cosa succede quando hai bisogno di gestire gruppi attraverso più domini o automatizzare le attività di gestione dei gruppi? È qui che PowerShell si rivela utile.

In questo tutorial pratico, imparerai come usare PowerShell per gestire i gruppi AD come un professionista. Imparerai come interrogare i gruppi, crearne di nuovi e modificare quelli esistenti utilizzando esempi pratici del mondo reale.

Requisiti

Se desideri seguire questo tutorial, assicurati di avere i seguenti requisiti:

  • Un computer Windows (Windows 10/11 o Windows Server) unito a un dominio Active Directory
  • Un account utente con permessi per gestire i gruppi AD

Interrogare i gruppi AD con PowerShell

Iniziamo con uno scenario comune: sei il nuovo amministratore IT in un’azienda e devi auditare la struttura dei gruppi AD. Il tuo manager vuole sapere quali gruppi esistono nei diversi dipartimenti. Il cmdlet Get-ADGroup sarà il tuo miglior amico qui.

Trovare gruppi per nome

Forse il compito più semplice è trovare gruppi che contengono un testo specifico nel loro nome. Ad esempio, per trovare tutti i gruppi con “Sales” nel nome:

Get-ADGroup -Filter 'Name -like "Sales"'

Gli asterischi (*) sono caratteri jolly, corrispondenti a qualsiasi carattere prima o dopo “Sales”. Questo comando restituirà tutti i gruppi che contengono “Sales” in qualsiasi parte del loro nome.

Filtrare per Tipo di Gruppo

Forse vuoi vedere solo gruppi di sicurezza (non gruppi di distribuzione). Puoi aggiungere criteri di filtro aggiuntivi utilizzando l’operatore -and:

Get-ADGroup -Filter 'Name -like "Sales" -and GroupCategory -eq "Security"'

Ora vedrai solo gruppi di sicurezza che hanno “Sales” nel loro nome.

Cercare in OUs Specifiche

Hai bisogno di trovare gruppi in una particolare unità organizzativa (OU)? Usa il parametro SearchBase:

Get-ADGroup -Filter * -SearchBase 'OU=Engineering,DC=company,DC=local'

Questo comando trova tutti i gruppi all’interno dell’OU Engineering e delle sue OUs figlie.

Trovare Gruppi Creati di Recente

Vuoi vedere quali gruppi sono stati creati dopo una certa data? Filtra in base all’attributo whenCreated:

Get-ADGroup -Filter 'whenCreated -ge "2023-01-01"'

Questo restituisce tutti i gruppi creati il 1° gennaio 2023 o dopo.

Creare Nuovi Gruppi AD

Ora vediamo come creare nuovi gruppi. Forse la tua azienda si sta ristrutturando e hai bisogno di creare gruppi per nuovi dipartimenti.

Creare un Gruppo di Sicurezza

Ecco come creare un nuovo gruppo di sicurezza per il personale di supporto IT:

New-ADGroup -Name "IT_Support" `
            -GroupScope Global `
            -GroupCategory Security `
            -Description "Group for IT support staff" `
            -Path "OU=IT,DC=company,DC=local"

Questo crea un gruppo di sicurezza globale chiamato “IT_Support” nell’unità organizzativa IT.

Creare un Gruppo di Distribuzione

Hai bisogno di un gruppo di distribuzione email? Basta cambiare alcuni parametri:

New-ADGroup -Name "Marketing_News" `
            -GroupScope DomainLocal `
            -GroupCategory Distribution `
            -Description "Group for receiving marketing updates" `
            -Path "OU=Marketing,DC=company,DC=local"

Creare Più Gruppi Contemporaneamente

Hai più gruppi simili da creare? Usa un ciclo:

$regions = "North", "South", "East", "West"
foreach ($region in $regions) {
    New-ADGroup -Name "Sales_$region" `
                -GroupScope Global `
                -GroupCategory Security `
                -Description "Sales team for $region region" `
                -Path "OU=Sales,DC=company,DC=local"
}

Modificare Gruppi Esistenti

Le cose cambiano nelle organizzazioni. I gruppi devono essere rinominati, le descrizioni aggiornate e gli ambiti modificati. Vediamo come gestire questi compiti.

Rinominare Gruppi

Per rinominare un gruppo, è necessario cambiare sia il suo nome che il samAccountName:

# Prima rinomina l'oggetto gruppo
Get-ADGroup EngineeringTeam | Rename-ADObject -NewName TechTeam

# Poi aggiorna il samAccountName
Get-ADGroup EngineeringTeam | Set-ADGroup -SamAccountName TechTeam

Aggiornare le Descrizioni dei Gruppi

Hai bisogno di aggiornare la descrizione di un gruppo? Una riga con Set-ADGroup:

Get-ADGroup TechTeam | Set-ADGroup -Description 'Technical Team for Engineering Projects'

Cambiare l’Ambito del Gruppo

Se hai bisogno di cambiare l’ambito di un gruppo (ad esempio da Globale a Universale):

Get-ADGroup TechTeam | Set-ADGroup -GroupScope Universal

Consigli Utili

Ecco alcuni suggerimenti per rendere la gestione dei gruppi AD ancora più efficiente:

    1. Usa sempre `-Filter` invece di `-Identity` quando interroghi più gruppi – è più efficiente

    1. Ricorda che l’ambito del gruppo non può essere cambiato se il gruppo ha membri – rimuovi prima i membri

    1. Usa il parametro `-WhatIf` quando apporti modifiche per visualizzare cosa accadrebbe

    1. Testa sempre prima i tuoi cambiamenti di gruppo in un ambiente non di produzione

Summary

Dovresti ora avere una solida base per gestire i gruppi AD con PowerShell. Mentre lo snap-in Active Directory Users and Computers è ottimo per compiti isolati, PowerShell ti dà il potere di automatizzare e gestire i gruppi su larga scala.

Ricorda – gli esempi mostrati qui sono solo l’inizio. I cmdlet AD di PowerShell sono incredibilmente potenti e flessibili. Man mano che diventi più a tuo agio con questi concetti di base, puoi creare soluzioni più complesse per soddisfare le esigenze della tua organizzazione.

Vuoi saperne di più su Active Directory PowerShell? Dai un’occhiata ai nostri altri tutorial:

Source: https://adamtheautomator.com/powershell-ad-groups-guide/