Automatiser les modifications de mot de passe sur Microsoft Online Services


Créer les accès lorsque vous n’avez que quelques comptes utilisateurs peut être facilement réalisé par les interfaces fournies : Le portail d’administration Microsoft Online Services pour réinitialiser le mot de passe, et puis communiquer le mot de passe temporaire à votre utilisateur ou le saisir vous-même via le client de sign-in.

Mais que se passe-t-il si vous avez des dizaines, des centaines ou des milliers d’utilisateurs à configurer ? Coté service MOS, la procédure est assez simple. Par exemple, pour changer le mot de passe d’un utilisateur testing@orentis.com, il suffit d’un petit jeu d’instructions Windows PowerShell :

  • [PS] C:\> Add-PSSnapin Microsoft.Exchange.Transporter
  • [PS] C:\> $cred = Get-Credential
  • [PS] C:\> Set-MSOnlineUserPassword -Identity testing@orentis.com -Password P@ssw0rd -ChangePasswordOnNextLogon $false -Credential $cred

Notez que le paramètre -ChangePasswordOnNextLogon est réglé sur $false afin que l’utilisateur n’ait pas à changer de mot de passe à la première ouverture de session.

Ok pour la première partie. Sauf que nous devons encore communiquer ou configurer le client utilisant le sign-in Microsoft Online Services pour qu’il mémorise le nouveau mot de passe. N’y aurait-il pas un moyen pour automatiser cette action ou tout du moins éviter que ce soit l’utilisateur qui le fasse ou d’être obligé de se déplacer sur son poste ?

En fait, il faut tout d’abord savoir que les mots de passe sont hachés par une API (SSPI – Security Support Provider Interface) et stockés localement dans le Credential Manager (en français, le Gestionnaire d’identification). Celui-ci est accessible via l’applet correspondante dans votre panneau de configuration. Soit ! Mais la plupart des IT Pro ne sont pas des grands amateurs de Visual Studio et du C# ou du VB.NET. Vous trouverez ci-après la manière dont l’objet se présente dans le coffre du gestionnaire d’identification :

Heureusement, il existe un outil CmdKey qui permet de manipuler les informations d’identification stockées dans le coffre du Gestionnaire d’identification. Vous trouverez une description de l’outil ici. Celui devrait déjà être installé sur le poste de votre utilisateur (par exemple si celui-ci dispose de Windows 7 comme environnement client).

Au final, sur le poste client, il suffira de frapper l’instruction suivante cmdkey /generic:microsoftonline.com /user:testing@orentis.com /pass:P@ssw0rd pour remplacer l’ancien compte/l’ancien mot de passe par les nouvelles données.

Pensez à fermer le client de sign-in MOS avant l’opération et de le relancer après votre instruction afin que celui-ci se re-signe avec le nouvel identifiant.

Que vous reste-il à faire pour automatiser tout cela : Techniquement, pas grand chose, un peu de PowerShell ou de batch (Kill / Stop-Process) pour tuer automatiquement le sign-in MOS, puis une autre instruction pour le relancer. Et pour centraliser votre traitement sur plusieurs postes ? Là encore, vous trouverez votre bonheur soit avec un outil comme PSExec ou si vous êtes définitivement branché PowerShell, en exécutant du Remote PowerShell et en scriptant un peu (le lien suivant devrait vous y aider).

Note: Vous pouvez aussi vous servir de cette technique pour pallier à un autre soucis : le changement automatique de mot de passe qu’impose le centre de données Microsoft et éviter ainsi, si vous êtes administrateur que vos utilisateurs soient livrés à eux-même en termes de gestion de leurs mots de passe.

A propos Arnaud Alcabez

With more than 20 years of experience in computing technologies and 18 years in the world of IT consulting (whose his own company during 9 years - MCT, MCSE, MSS), I have strong and major skills on IT technologies such Exchange, Virtualization, and BPOS/Office365, Cloud strategy and in particular, Microsoft ecosystem. The last 10 years were devoted to growth the MS identification and the business market (large and mid channels) for some French IT companies. Today, as Office365/Exchange Senior Architect at Capgemini, I share my knowledge with internal teams and Capgemini's customers. In parallel, I am acknowledged as a Most Valuable Professional (MVP) since 2003 by Microsoft Corp. I'm a writer for Exchange Magazine in France,the owner and president of the French Exchange Server community (2500 qualified members in September 2008), and one of the five managers on the Exchange Group LinkedIn community. I speak regularly as IT Expert (Level 300/400 sessions) for Microsoft France, for exemple, during the Microsoft Techdays.
Cet article, publié dans Technologies, est tagué , , , , . Ajoutez ce permalien à vos favoris.