Files
Scripts-Pack-Epsic-122/insert_users.ps1

44 lines
1.8 KiB
PowerShell

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
}
}