Description : Lorsque l’on administre un domaine Active Directory, il est tout à fait possible de recevoir une demande de création de comptes en masse pour de nouveaux utilisateurs. S’il est question de créer deux ou trois comptes d’utilisateur, c’est plus rapide de le faire manuellement et un par un… Mais si la demande nécessite de créer des centaines de comptes, on peut vite être dépassé par la charge de travail à venir. C’est pourquoi il devient utile d’automatiser certaines tâches administrative, comme la création d’utilisateurs en masse dans un domaine Active Directory. Pour créer des utilisateurs dans l’AD, plusieurs solutions s’offrent à vous :
– Créez les utilisateurs manuellement dans la console MMC « Utilisateurs et ordinateurs Active Directory »
– Créez un script (Commandes DSADD/DSMOD, PowerShell, etc)
– Utiliser un outil tiers
Cette procédure vous permettra de voir dans un premier temps comment créer des utilisateurs en masse à partir d’une interface graphique (logiciel fournit gratuitement par SolarWinds) , puis ensuite de créez des utilisateurs à l’aide d’un script PowerShell. Chaque méthode nécessite l’utilisation d’un fichier CSV (Fichiers contenant les données utilisateurs, séparées par un point virgule « ; ») pour importer les utilisateurs à créer.
NB : La société SolarWinds est notamment connu pour le logiciel de prise de main à distance plébiscité des Techniciens Support Informatique et qui se nomme « DameWare Remote Control »
Méthode 1 : Créez des utilisateurs en masse avec une interface graphique (GUI)
Présrequis
Installer « Microsoft .Net Framework 3.5 SP1 » :
en-US : http://www.microsoft.com/en-us/download/details.aspx?id=22
fr-FR : https://www.microsoft.com/fr-FR/download/details.aspx?id=22
NB : La procédure a été réalisée sur poste client exécutant un OS de type Windows 10 Pro


Cliquez sur « Oui » :

Cliquez sur « Télécharger et installer cette fonctionnalité » :

Cliquez sur « Fermer » :

INSTALLATION D’ADMIN BUNDLE FOR ACTIVE DIRECTORY
1 – Naviguez sur le site de l’éditeur et télécharger gratuitement « Admin Bundle for Active Directory for free » à l’adresse suivante :
https://www.solarwinds.com/fr/free-tools/active-directory-admin-tools-bundle


2 – Faites un clic droit sur le fichier téléchargé et cliquez sur « Extraire tout » :

3 – Le dossier extrait contient trois outils. Naviguez dans le dossier « SolarWinds-User-Import-Tool » :

4 – Le dossier contient deux fichiers de type MSI et un fichier texte :

Le fichier « ReadMe.txt » explique que l’installation du MSI « UserImportTool » va installer un service sur votre poste afin de sécuriser les communications entre votre poste et le contrôleur de domaine.

5 – Exécutez le fichier « UserImportTool.msi » :

6 – Cliquez sur « Next » :

7 – Acceptez le contrat de licence et cliquez sur « Next » :

8 – Cliquez sur « Next » :

9 – Cliquez sur « Install » :

10 – Cliquez sur « Oui » :

11 – Cochez la case « Run User Import Tool » et cliquez sur « Finish«

IMPORTEZ ET CRÉEZ DES UTILISATEURS A PARTIR D’UN FICHIER CSV :
1 – Lorsque vous lancez la console « User Import Tool« , vous avez dans la section « Dashboard » la possibilité de créer des comptes Active Directory ou des comptes Active Directory avec une boite aux lettres Exchange associé (Nécessite un serveur Exchange OnPremise).

2 – Dans la section « Settings« , vous avez la possibilité de sélectionnez le niveau de log que vous souhaitez avoir pendant la création des comptes. Par défaut, le logiciel n’affiche à l’utilisateur que les alertes :

3 – Il y a plusieurs niveaux de journalisation :
- Off : Pas de journalisation
- Error : N’enregistre et n’affiche que les erreurs lors de la création des comptes AD
- Warning : N’enregistre et n’affiche que les alertes
- Info
- Verbose : Affiche tous les types de notification

4 – Quand on clic sur le bouton « Show Examples« , un explorateur Windows s’ouvre pour afficher un répertoire contenant des fichiers CSV en exemple. Vous pouvez l’utiliser pour créer votre fichier d’import ou en créer un autre :


5 – Quand vous cliquez sur « Select file« , vous avez la possibilité de choisir votre fichier CSV pré-formaté, qui vous servira pour la création des comptes AD :

6 – Après avoir sélectionné votre fichier CSV qui sera pour l’import des utilisateurs à créer, tapez les identifiants d’un compte ayant des droits de créations de comptes dans la section « Credential Information« . Vous pouvez cliquez sur « Test Credentials » pour vérifier les identifiants fournis. Si les identifiants sont validés, cliquez sur « Next » :


7 – L’étape « MAP CUSTOM FIELDS » permet de réaliser le mapping des champs découvert dans le fichier CSV avec les attributs AD d’un compte d’utilisateur a créer. A gauche les colonnes détecté dans le fichier CSV (From:) et à droite, les attributs AD qui doivent correspondre pour la création d’un compte d’utilisateur (To:).
Pour faire le mapping d’une colonne de votre CSV avec un attribut utilisateur, réaliser les manipulations suivantes :
– Sélectionnez une colonne à gauche
– Sélectionnez un attribut AD à droite
– Cliquez sur « Map Attribute » pour associer la colonne du CSV à l’attribut AD

8 – Si un attribut AD n’apparaît pas dans la fenêtre de droite (To:), il est possible d’en ajouter de la manière suivante :
– Sélectionnez un attribut dans la liste déroulante de la section « New Attribute«
– Cliquez sur « Add«
Cliquez ensuite sur « Next » quand toutes les colonnes ont été mappé avec des attributs AD :

9 – Dans la section « CREATE USER ACCOUNTS », l’interface graphique va afficher un résumé des attributs qui seront utilisés pour la création de chaque compte d’utilisateur. Cela vous permet de vérifier que vous n’avez pas d’erreur de mapping ou d’erreur dans l’alimentation des attributs. Vous pouvez éditer chaque attribut des comptes d’utilisateurs à cette étape.
Lorsque tous les comptes à créer son conforme à votre souhait, cliquez sur « Create » :

10 – Une fois que le script à créé tous les comptes d’utilisateurs contenu dans votre fichier CSV, vous recevez une information visuel vous indiquant que tous les comptes d’utilisateurs ont été créé avec succès. En cas d’erreur, vous recevrez un affichage spécifiant la nature de l’erreur (La journalisation dépendra du type de configuration que vous aurez spécifiez pour les logs)

Méthode 2 : Créez des utilisateurs en masse avec un script (Windows PowerShell)
Présrequis :
– Avoir PowerShell ISE installé sur un poste de travail
– Avoir un fichier CSV bien formaté, comprenant des colonnes dédiés aux différents attributs
Détails du script :
1 – Ouvrir une fenêtre PowerShell ISE et tapez les commandes PowerShell qui vont suivre ligne après ligne et sans exécuter le script
2 – Récupérer vos identifiants d’administration sous la forme d’une pop-up qui vous demander un login/mot de passe :
$cred=Get-Credential

3 – Spécifier un contrôleur de domaine
$DomainController = « DC-01 »
4 – Spécifier le chemin d’accès au fichier CSV :
$PathCSV = « C:\Temp\Create-User\Create-User.CSV »
5 – Importer les utilisateurs à créer depuis le fichier CSV spécifié en paramètre. Pour cela, on créé une variable qui va contenir l’intégralité des informations contenu dans le fichier CSV :
$NewUsers = Import-Csv -path $PathCSV -delimiter « ; »
6 – La boucle suivante a pour but de lire chaque ligne du fichier CSV contenu dans la variable $NewUsers et remplir chaque attribut d’un compte utilisateur à l’aide des informations fournit dans chaque colonne du fichier CSV.
$NewUsers | ForEach {
$GivenName = $_.GivenName
$sn = $_.sn
$Name = $_.Name
$DisplayName = $_.DisplayName
$Mail = $_.Mail
$sAMAccountName = $_.sAMAccountName
$userPrincipalName = $_.userPrincipalName
$DN = $_.DN
$Password = $_.Password
#Ajout des données dans la base Active Directory
New-ADuser -Server $DomainController -Credential $cred -GivenName $GivenName -Surname $sn -Name $Name -DisplayName $DisplayName -EmailAddress $Mail -SamAccountName $sAMAccountName -UserPrincipalName $userPrincipalName -Path $DN -ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) -Enabled $true -PasswordNeverExpires $true
}
Le script complet :
###Récupérer les identifiants d’administration d’un compte du domaine autorisé à créer des comptes AD :
$cred=Get-Credential
###Spécifier le nom d’un contrôleur de domaine sur lequel créer les comptes d’utilisateurs :
$DomainController = « DC-O1 »
###Spécifier le chemin d’accès au fichier CSV :
$PathCSV = « C:\Temp\Create-User\Create-User.CSV »
###Importation des utilisateurs depuis le fichier CSV spécifié en paramètre :
$NewUsers = Import-Csv -path $PathCSV -delimiter « ; »
$NewUsers | ForEach {
$GivenName = $_.GivenName
$sn = $_.sn
$Name = $_.Name
$DisplayName = $_.DisplayName
$Mail = $_.Mail
$sAMAccountName = $_.sAMAccountName
$userPrincipalName = $_.userPrincipalName
$DN = $_.DN
$Password = $_.Password
###Création des utilisateurs dans Active Directory :
New-ADuser -Server $DomainController -Credential $cred -GivenName $GivenName -Surname $sn -Name $Name -DisplayName $DisplayName -EmailAddress $Mail -SamAccountName $sAMAccountName -UserPrincipalName $userPrincipalName -Path $DN -ChangePasswordAtLogon $false -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) -Enabled $true -PasswordNeverExpires $true
}