Principe de Fonctionnement
Le principe de cette fonction est de pouvoir bénéficier d’une synchronisation des utilisateurs via un fichier CSV (Comma Separated Values) plutôt que synchroniser les utilisateurs à partir d'un Annuaire AD.
De la même manière qu’une synchronisation d’annuaire sur un Exchange On Premise, nous utilisons un script PowerShell, conjointement avec un fichier JSON de configuration, dans lequel nous placerons les "App ID" et "App Secret" (fichier de configuration, "App ID" et "App Secret" fournis sur la plateforme) permettant au script d’interagir avec notre API (joignable sur https://api.letsignit.com) pour nous transmettre les informations utilisateurs.
Vérification des prérequis techniques
Afin de mettre en place une synchronisation depuis un fichier CSV, voici tous les prérequis techniques :
Version minimale requise de l'outil PowerShell : Version 4.0
Stratégie d'exécution PowerShell (à appliquer pour l'automatisation en tâches planifiées afin de lancer le script sans confirmation d’exécution) : RemoteSigned
Format du fichier CSV
Le fichier CSV utilisé doit suivre le bon format des entêtes de colonne, que vous pouvez obtenir à partir de votre annuaire Active Directory local, qui doit être le suivant :
"DistinguishedName";"ObjectGUID";"mail";"DisplayName";"GivenName";"Surname";"Title";"Department";"OfficePhone";"MobilePhone";"Fax";"StreetAddress";"City";"PostalCode";"State";"Country";"Company";"HomePage"
Création du fichier CSV via PowerShell
Afin de générer le fichier de type CSV, il faut pouvoir exécuter des commandes PowerShell sur un poste ayant accès au serveur Active Directory local (ou directement sur le serveur).
Voici la commande complète à rentrer pour la création du fichier CSV :
Get-ADUser -Filter * -Properties * | Select-Object DistinguishedName, ObjectGUID, mail, DisplayName, GivenName, Surname, Title, Department, OfficePhone, MobilePhone, Fax, StreetAddress, City, PostalCode, State, Country, Company, HomePage, thumbnailPhoto | export-csv -path c:\users.csv -Encoding UTF8 -Delimiter ';'
La commande est découpée en plusieurs parties :
• Get-ADUser -Filter * -Properties * : Permet de récupérer la liste des utilisateurs ainsi que tous leurs paramètres.
• Select-Object DistinguishedName, ObjectGUID, mail, DisplayName, GivenName, Surname, Title, Department, OfficePhone, MobilePhone, Fax, StreetAddress, City, PostalCode, State, Country, Company, HomePage, thumbnailPhoto : Sélection des attributs devant être remontés pour chaque utilisateur (ici, DN, ID, mail, nom d’affichage, nom, prénom, surnom, titre…). Cette liste peut être modifiée.
• Export-csv -path c:\users.csv -Encoding UTF8 -Delimiter ';' : Toutes les données sélectionnées précédemment vont être remontées sur un fichier CSV dans le dossier indiqué (C:\users.csv ici). Le fichier va être encodé en UTF-8-BOM et les délimiteurs présents entre chaque valeur seront des « ; ».
Les attributs présents dans la seconde partie de la commande peuvent être modifiés. Il y a seulement trois attributs obligatoires : DistinguishedName, ObjectGUID et mail. Ces attributs doivent contenir des valeurs uniques qui ne doivent être modifiées entre deux synchronisations.
En dehors de ceux-là, tous les attributs d’un utilisateur peuvent être, ou non, remontés.
#Synchronisation #Synchronisation CSV #CSV