Mini-Script : Créer les utilisateurs et les OU en même temps, à partir d'un fichier CSV

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 !


On part d'un fichier CSV de type :

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

Voici le script :

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


⬆️ Retour en haut de la page