44 lines
1.8 KiB
PowerShell
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
|
|
}
|
|
} |