AD – PowerShell

Dans une grosse entreprise, on ne peut pas se permettre de rajouter un utilisateur à la fois dans l’Active Directory, il est donc important de pouvoir scripter l’ajout.


Création du script

En premier lieu, on importe le module ” activedirectory”

Import-Module activedirectory

On déclare la variable fichiercsv qui n’est d’autre que le fichier que la secrétaire des ressources humaines à remplie.

Pour ne pas vous tromper dans le chemin du fichier, vous pouvez rester appuyer sur shift et appuyer sur ” Copier en tant que chemin d’accès ” puis le coller après votre -path 😉

Le -delimiter sera simplement ce qui sépare vos arguments, vous pouvez 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 utilisateur par colonne dans la variable qui se nomme fichiercsv qui est le fichier importé précédemment.

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

Le Path doit être le distinguishedName, il peut-être composé de:

-CN = Common Name
-OU = Organizational Unit
-DC = Domain Component

Dans ce cas l’utilisateur sera créer dans l’unité d’organisation test, qui se trouve dans le domaine info.local

Enabled 1 permet d’activer le compte directement.

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)
}

Voici une liste d’attribut 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)

}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.