Untitled
# 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