Untitled

 avatar
unknown
plain_text
19 days ago
1.9 kB
2
Indexable
# Définition des variables
$csvFile = "C:\Users\Administrator\Script\Utilisateur.csv"
$domain = "HORIZON.LOCAL"
$defaultPassword = ConvertTo-SecureString "P@55w0rd" -AsPlainText -Force

# Importation du fichier CSV
$users = Import-Csv -Path $csvFile -Delimiter ";"

# Boucle sur chaque utilisateur du fichier CSV
foreach ($user in $users) {
    $prenom = $user.PRENOM
    $nom = $user.NOM
    $departement = $user.DEPARTEMENT
    $ouPath = "OU=$departement,DC=HORIZON,DC=LOCAL"
    $samAccountName = "$prenom.$nom".ToLower()
    $displayName = "$prenom $nom"
    $email = "$samAccountName@$domain"

    # Vérifier si l'OU existe, sinon la créer
    if (-not (Get-ADOrganizationalUnit -Filter "Name -eq '$departement'")) {
        New-ADOrganizationalUnit -Name $departement -Path "DC=HORIZON,DC=LOCAL" -ProtectedFromAccidentalDeletion $false
        Write-Host "OU '$departement' créée."
        Start-Sleep 2  # Pause pour éviter les problèmes de reconnaissance d'OU
    }

    # Vérifier si l'utilisateur existe déjà
    if (-not (Get-ADUser -Filter "SamAccountName -eq '$samAccountName'")) {
        # Création de l'utilisateur
        New-ADUser -SamAccountName $samAccountName `
                   -UserPrincipalName $email `
                   -Name $displayName `
                   -GivenName $prenom `
                   -Surname $nom `
                   -DisplayName $displayName `
                   -Department $departement `
                   -Path $ouPath `
                   -AccountPassword $defaultPassword `
                   -Enabled $true `
                   -ChangePasswordAtLogon $true

        Write-Host "✅ Utilisateur $displayName créé dans l'OU $departement."
    } else {
        Write-Host "⚠️ L'utilisateur $displayName existe déjà, aucune action effectuée."
    }
}
Leave a Comment