Téléverser les fichiers vers "/"
This commit is contained in:
44
insert_users.ps1
Normal file
44
insert_users.ps1
Normal file
@@ -0,0 +1,44 @@
|
||||
Import-Module ActiveDirectory
|
||||
|
||||
$csvPath = "C:\Users\vboxuser\Desktop\Scripts\happy_koalas_employees.csv"
|
||||
$domainDN = (Get-ADDomain).DistinguishedName
|
||||
|
||||
Write-Host "--- Cr<43>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<69>)
|
||||
if (-not (Get-ADOrganizationalUnit -Filter "Name -eq '$($user.Department)'")) {
|
||||
Write-Host "[ERREUR] L'OU $($user.Department) n'existe pas. Cr<43>ez-la d'abord." -ForegroundColor Red
|
||||
continue
|
||||
}
|
||||
|
||||
# V<>rification si l'utilisateur existe d<>j<EFBFBD>
|
||||
if (-not (Get-ADUser -Filter "SamAccountName -eq '$($user.UserName)'")) {
|
||||
|
||||
# Pr<50>paration du mot de passe au format s<>curis<69> requis par l'AD
|
||||
$securePassword = ConvertTo-SecureString $user.Password -AsPlainText -Force
|
||||
|
||||
# Cr<43>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<63><72> : $($user.UserName) dans l'OU $($user.Department)" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host "[INFO] L'utilisateur $($user.UserName) existe d<>j<EFBFBD>." -ForegroundColor Yellow
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user