Untitled

 avatar
unknown
plain_text
8 days ago
3.2 kB
3
Indexable
# Charger les données depuis le fichier CSV
$data = Import-Csv -Path "C:\Chemin\Vers\partages3.csv"

# Création des utilisateurs et ajout aux groupes globaux
foreach ($row in $data) {
    # Vérifier si la ligne contient un utilisateur valide
    if ([string]::IsNullOrEmpty($row.Utilisateurs)) {
        continue
    }

    # Récupérer les informations utilisateur depuis le tableau CSV
    $userName = $row.Utilisateurs
    $globalGroup = $row.'Groupe Global (GG)'
    
    if ([string]::IsNullOrEmpty($globalGroup)) {
        Write-Warning "Le groupe global est manquant pour l'utilisateur : $userName"
        continue
    }

    # Générer le nom d'utilisateur (SamAccountName)
    $samAccountName = Get-UserLoginName -FullName $userName

    # Déterminer l'UO de l'utilisateur
    $userOU = Get-UserOU -GroupName $globalGroup

    # Vérifier si l'utilisateur existe déjà dans AD
    if (-not (Get-ADUser -Filter {SamAccountName -eq $samAccountName} -ErrorAction SilentlyContinue)) {
        try {
            # Créer l'utilisateur avec les paramètres spécifiés
            New-ADUser -Name $userName `
                -SamAccountName $samAccountName `
                -UserPrincipalName "$samAccountName@$domain" `
                -DisplayName $userName `
                -GivenName ($userName.Split(" ")[0]) `
                -Surname ($userName.Split(" ")[-1]) `
                -Path $userOU `
                -AccountPassword $defaultPassword `
                -CannotChangePassword $true `
                -PasswordNeverExpires $true `
                -Enabled $true
            
            Write-Host "Utilisateur créé : $userName (SamAccountName: $samAccountName)"
            
            # Ajouter l'utilisateur au groupe global correspondant
            Add-ADGroupMember -Identity $globalGroup -Members $samAccountName
            Write-Host "$samAccountName ajouté au groupe : $globalGroup"
        } catch {
            Write-Warning "Erreur lors de la création de l'utilisateur : $_"
        }
    } else {
        Write-Warning "L'utilisateur existe déjà : $samAccountName"
        
        # Ajouter l'utilisateur au groupe global s'il n'y est pas encore
        Add-ADGroupMember -Identity $globalGroup -Members $samAccountName
        Write-Host "$samAccountName ajouté au groupe existant : $globalGroup"
    }
}

# Configuration des relations DL depuis le tableau CSV
foreach ($row in $data) {
    # Récupérer les informations DL depuis le tableau CSV
    if ([string]::IsNullOrEmpty($row.DL) -or [string]::IsNullOrEmpty($row.'Membres DL')) {
        continue
    }

    # Récupérer le nom du groupe DL et ses membres associés
    $dlGroup = $row.DL
    $dlMembers = ($row.'Membres DL').Split(";") | ForEach-Object { $_.Trim() }

    foreach ($member in $dlMembers) {
        try {
            Add-ADGroupMember -Identity $dlGroup -Members $member
            Write-Host "$member ajouté au groupe DL : $dlGroup"
        } catch {
            Write-Warning "Erreur lors de l'ajout de membre au groupe DL : $_"
        }
    }
}

Write-Host "Création des utilisateurs et configuration des groupes terminée."
Editor is loading...
Leave a Comment