Import-Module ActiveDirectory $csvPath = "C:\Users\vboxuser\Desktop\Scripts\happy_koalas_employees.csv" $domainDN = (Get-ADDomain).DistinguishedName Write-Host "--- Création des Utilisateurs dans l'AD ---" -ForegroundColor Cyan # 1. Lecture du CSV $employees = Import-Csv -Path $csvPath -Delimiter ";" foreach ($user in $employees) { # On définit l'OU de destination (ex: OU=IT,DC=domain,DC=local) $targetOU = "OU=$($user.Department),$domainDN" # Vérification si l'OU existe (sécurité) if (-not (Get-ADOrganizationalUnit -Filter "Name -eq '$($user.Department)'")) { Write-Host "[ERREUR] L'OU $($user.Department) n'existe pas. Créez-la d'abord." -ForegroundColor Red continue } # Vérification si l'utilisateur existe déjà if (-not (Get-ADUser -Filter "SamAccountName -eq '$($user.UserName)'")) { # Préparation du mot de passe au format sécurisé requis par l'AD $securePassword = ConvertTo-SecureString $user.Password -AsPlainText -Force # Création de l'utilisateur New-ADUser -Name "$($user.FirstName) $($user.LastName)" ` -SamAccountName $user.UserName ` -UserPrincipalName "$($user.UserName)@happykoalas.com" ` -GivenName $user.FirstName ` -Surname $user.LastName ` -EmailAddress $user.Email ` -Path $targetOU ` -AccountPassword $securePassword ` -ChangePasswordAtLogon $true ` -Enabled $true ` -Description $user.JobTitle Write-Host "[OK] Utilisateur créé : $($user.UserName) dans l'OU $($user.Department)" -ForegroundColor Green } else { Write-Host "[INFO] L'utilisateur $($user.UserName) existe déjà." -ForegroundColor Yellow } }