Untitled

 avatar
unknown
plain_text
15 days ago
1.8 kB
0
Indexable
# Importer le module Active Directory
Import-Module ActiveDirectory

# Définir les unités d'organisation et les noms des groupes
$OUPath = "OU=DL,OU=SIEGE,DC=Horizon,DC=local"
$GroupNames = @("ACCUEIL", "COMMERCIAUX", "COMPTA", "DIRECTION", "IT", "RH", "R&D")

# Parcourir chaque nom de groupe pour créer des groupes globaux et les ajouter aux groupes locaux
foreach ($GroupName in $GroupNames) {
    # Définir le nom du groupe global
    $GlobalGroupName = "GG-$GroupName"

    # Vérifier si le groupe global existe déjà
    if (-not (Get-ADGroup -Filter "Name -eq '$GlobalGroupName'" -SearchBase $OUPath -ErrorAction SilentlyContinue)) {
        # Créer le groupe global
        New-ADGroup -Name $GlobalGroupName `
                    -GroupScope Global `
                    -Path $OUPath `
                    -Description "Groupe Global pour $GroupName" `
                    -GroupCategory Security

        Write-Host "Groupe global créé : $GlobalGroupName"
    } else {
        Write-Host "Le groupe global existe déjà : $GlobalGroupName"
    }

    # Ajouter le groupe global aux groupes locaux
    foreach ($Suffix in @("RW", "R")) {
        $LocalGroupName = "DL-$GroupName-$Suffix"

        # Vérifier si le groupe local existe
        $LocalGroup = Get-ADGroup -Filter "Name -eq '$LocalGroupName'" -SearchBase $OUPath -ErrorAction SilentlyContinue
        if ($LocalGroup) {
            # Ajouter le groupe global comme membre du groupe local
            Add-ADGroupMember -Identity $LocalGroupName -Members $GlobalGroupName
            Write-Host "Ajouté $GlobalGroupName comme membre de $LocalGroupName"
        } else {
            Write-Host "Le groupe local $LocalGroupName n'existe pas."
        }
    }
}
Leave a Comment