[PowerShell] No limit !

 

Comme vous pouvez le voir si vous avez parcouru mon site, j'ai fait un certain nombre d'articles techniques sur Active Directory.

Pour une fois je vais parler juste de mon expérience, afin de vous faire découvrir une partie de ce que vous pourriez réaliser avec PowerShell.

Dans mon activité professionnelle, j'ai mis en place un système automatisé pour la gestion des utilisateurs de l'entreprise. L'automatisme est basé sur un script PowerShell mélangeant à la fois des commandes Active Directory et des commandes d'autres produits comme Exchange. En effet, le premier élément intéressant de Powershell et sa facilité de gérer différent produit dans un même script. Il est assez facile de trouver des modules PowerShell pour les produits Microsoft, mais également pour d'autres comme par exemple VMware.

La première étape a été de faire un lien entre les informations issues du logiciel RH et les attributs de l'annuaire Active Directory. En effet le logiciel RH n'a pas de notion de « login », il est basé sur un identifiant unique qui est le matricule de l'utilisateur. Au niveau Active Directory j'ai utilisé l'attribut « EmployeeID » pour enregistrer le matricule de l'utilisateur.

Un autre point important est la présence de plusieurs entreprises au sein du groupe et l'annuaire AD est une forêt avec plusieurs domaines. Il a donc fallu gérer le domaine AD de l'utilisateur. Pour faciliter, l'opération j'ai créé un fichier .csv de correspondance entre la société et le domaine AD. Lors de la création d'une nouvelle entreprise dans le groupe il suffit de modifier le fichier de correspondance, le script PowerShell n'est pas impacté.

Pour faciliter les recherches dans l'ensemble des domaines, j'ai ajouté l'attribut «EmployeeID » (matricule unique dans le groupe) dans le catalogue global. Pour savoir comment ajouter un attribut dans le catalogue global, vous pouvez consulter l'article : http://pbarth.fr/node/159 .

Le script est exécuté tous les jours en tâche planifiée dans un contexte utilisateur qui nécessite des permissions sur l'annuaire. Pour réduire, les privilèges de ce compte j'ai créé des délégations de droits sur des OU spécifiques sur chaque domaine de la forêt. Si cela vous intéresse, vous trouverez des informations dans l'article suivant sur la délégation de droit : http://pbarth.fr/node/102.

Afin de vous donner une idée des possibilités de PowerShell, voici une partie des éléments pris en charge par le script :

  • Gestion des comptes multi domaines AD
  • Gestion du format du login différent en fonction des sociétés du groupe (domaine AD)
  • Création et mises à jour des comptes
  • AD devient un réel annuaire d'entreprises avec les adresses, les numéros de téléphone et photo (visible sur Outlook, Skype et SharePoint)
  • Expiration automatique des comptes au départ de l'entreprise
  • Ajout automatique dans les listes de distribution et de groupe de sécurité en fonction du service de l'utilisateur
  • Mise en place automatique du dossier personnel de l'utilisateur
  • Création de la boite aux lettres Exchange
  • Notification par mail lors de l'exécution du script ou de changement de hiérarchie ou de site
  • Intégration d'information particulière à l'utilisateur qui sera reprise dans la synchronisation de profil avec SharePoint
  • Le trombinoscope dans SharePoint est automatiquement mis à jour à partir des informations RH via l'attribut « manager ».

 

A bientôt pour des articles sur PowerShell …

 

Theme: 

Annee: