Après les scripts de création des utilisateurs, voici celui qui s'occupe de tout (création des unités d'organisation (OU) ET des utilisateurs)
Bien entendu, il s'agît d'un mini-script basique (qui ne vérifie rien du tout !)
A vous de l'améliorer ! Et il ne manquera plus que les GG et les DL !
PRENOM;NOM;DEPARTEMENT
Henri;dubas;DIRECTION
pierre;abernaty;RH
josé;lemoine;R&D
andréa;claire;MARKETING
marion;games;ACCUEIL
Julie;lecointre;R&D
Anthony;dilly;SAV
Amaury;De villenave;RH
Julie;mathieu;MARKETING
mathieu;saintclair;MARKETING
# Comme toujours, on commence par importer le fichier csv
$contenu_csv = Import-Csv -Path 'C:\Users\Administrateur\Desktop\liste-collaborateurs.csv' -Delimiter ';'
# Puis, on récupère les informations de chaque ligne du fichier .csv et on traîte !
foreach ($ligne in $contenu_csv)
{
# Récupération du nom, prénom et département de chaque utilisateur
$nom=$ligne.NOM
$prenom=$ligne.PRENOM
$OU=$ligne.DEPARTEMENT
# Créer l'OU correspondante à l'utilisateur avant de créer l'utilisateur.
# Vous noterez la présence de -ErrorAction SilentlyContinue, qui sans cela, arrêterait l'exécution du script dès qu'il tombe sur une OU déjà existante
New-ADOrganizationalUnit -Name $OU -Path 'OU=ENTREPRISE,DC=COMPUSET,DC=LOCAL' -ProtectedFromAccidentalDeletion $false -ErrorAction SilentlyContinue
# La création de l'utilisateur :
New-ADUser -Name '$($prenom) $($nom)' -Surname '$($nom)' -GivenName '$($prenom)' -SamAccountName '$($prenom[0]).$($nom)' -UserPrincipalName '$($prenom).$($nom)@COMPUSET.LOCAL' -path 'OU=$($OU),OU=ENTREPRISE,DC=COMPUSET,DC=LOCAL' -AccountPassword(ConvertTo-SecureString 'P@ssw0rd' -AsPlainText -Force) -Enabled $true -ChangePasswordAtLogon $true
}
Vous noterez que je place toutes les OU qui seront créées à l'intérieur d'une OU nommée 'ENTREPRISE', pour plus de lisibilité sous le domaine. Cette OU 'ENTREPRISE' peut évidemment être créée automatiquement...
Libre à vous de l'ajouter au script ou de le faire manuellement avant !