Bonjour,
Aujourd’hui un court post mettant en avant la pratique de l’impersonation (le super utilisateur)
Avec cela, un super utilisateur, identifié avec la méthode classique de connexion, pourra parcourir et interagir avec toutes les boites emails sur serveur Exchange, sans se préoccuper des mots de passe.
Pour l’implémentation:
D’abord, sur la machine possédant le serveur Exchange ouvrir Exchange Management Shell et tapez ceci:
New-ManagementRoleAssignment –Name AgentImpersonationRole –Role ApplicationImpersonation –User "Votre_Nom_D_Utilisateur_Ici" |
Voila, votre compte est désormais un super compte!
Au niveau de l’API, ça se passe comme cela:
//Connection avec l'API: m_service = new ExchangeService(ExchangeVersion.Exchange2010_SP1); //sUser est le super utilisateur précédement créé (Votre_Nom_D_Utilisateur_Ici) m_service.Credentials = new WebCredentials(sUser, sPwd, sDomain); m_service.Url = new Uri("http://XXXX/EWS/Exchange.asmx"); //Spécification de la boite email à gérer: m_service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "BoiteEmailAmodifier"); //Action sur cette boite email: Folder newFolder = new Folder(m_service); newFolder.DisplayName = "ImpersonatedTestFolder"; newFolder.Save(WellKnownFolderName.Inbox); |
Voila, vous avez créé un dossier sur une boite email différente de la votre en jouant des droits de super utilisateur. Vous pouvez ainsi faire des opérations de groupes sur des comptes emails sans vous préoccuper des passwords.