Dans une grosse entre­prise, on ne peut pas se per­mettre de rajou­ter un uti­li­sa­teur à la fois dans l’Ac­tive Direc­to­ry, il est donc impor­tant de pou­voir scrip­ter l’a­jout.


Création du script

En pre­mier lieu, on importe le module ” acti­ve­di­rec­to­ry”

Import-Module activedirectory

On déclare la variable fichiercsv qui n’est d’autre que le fichier que la secré­taire des res­sources humaines à rem­plie.

Pour ne pas vous trom­per dans le che­min du fichier, vous pou­vez res­ter appuyer sur shift et appuyer sur ” Copier en tant que che­min d’ac­cès ” puis le col­ler après votre ‑path 😉

Le ‑deli­mi­ter sera sim­ple­ment ce qui sépare vos argu­ments, vous pou­vez le voir en ouvrant votre fichier dans un bloc-note, il se peut que cela soit un “,”

$fichiercsv = import-csv -path "C:\Users\Administrateur\Documents\arrivants.csv" -delimiter ";"

Ensuite on créer une boucle, qui créer un uti­li­sa­teur par colonne dans la variable qui se nomme fichiercsv qui est le fichier impor­té pré­cé­dem­ment.

Dans ce cas, le fichier contient deux colonnes, une avec le pre­nom, et l’autre avec le nom.

Le Path doit être le dis­tin­gui­shed­Name, il peut-être com­po­sé de:

-CN = Com­mon Name
-OU = Orga­ni­za­tio­nal Unit
-DC = Domain Com­ponent

Dans ce cas l’u­ti­li­sa­teur sera créer dans l’u­ni­té d’or­ga­ni­sa­tion test, qui se trouve dans le domaine info.local

Enabled 1 per­met d’ac­ti­ver le compte direc­te­ment.

foreach($user in $fichiercsv)
{
       $prenom = $user.prenom
       $nom = $user.nom
       New-ADUser -GivenName $prenom -Name $nom -Path "OU=test,DC=info,DC=local" Enabled 1 -AccountPassword (ConvertTo-SecureString ("Azerty.123") -AsPlainText -force)
}

Voi­ci une liste d’at­tri­but que l’on peut mettre:
https://docs.microsoft.com/en-us/powershell/module/addsadministration/new-aduser?view=win10-ps


Script final

Import-Module activedirectory

$users = import-csv -path "C:\Users\Administrateur\Downloads\vl.csv" -delimiter ","

foreach($user in $users)
{
$Prenom = $user.Prenom
$Nom = $user.Nom
$formation = $user.formation
New-ADUser -name $Nom -GivenName $Prenom -Path "ou=test,dc=info,dc=local" -Enabled 1 -AccountPassword (ConvertTo-SecureString ("Azerty.123") -AsPlainText -force)

}