Dans ce billet je vais parler d'une situation frustrante lorsque l’on souhaite nettoyer les ACL des boites aux lettres. Rien de plus frustrant lorsque l’on regarde les permissions d’un BAL avec Get-MailboxPermission de voir toutes ces permissions en S-1-5-************ révélatrices de comptes supprimés.

Même si il n’y a aucun risque de sécurité (la partie RID du SID ne sera jamais réutilisée par Active Directory), j’aime bien ne voir que les permissions pertinentes pour un objet. Dans mon cas, lorsque j’essaie de nettoyer une permission, la réponse de la cmdlet powershell me laisse perplexe : « /// Can't remove the access control entry on the object "CN=John Doe,OU=Users, DC=contoso,DC=local" for account "contso\johndoe" because the ACE doesn't exist on the object. /// » Pourtant je vois bien une permission sur cette BAL. D’ailleurs c’est un pipe entre un Get et un Remove, je n’ai rien copié / coller. Je fais un Get-ADUser sur le SID indiqué, rien ; surtout que le SID que j’ai indiqué ne fait pas parti de mon domaine !

En fait c’est un sIDHistory.
Pour les migrateurs Exchange, cela ne veut pas dire grand-chose, par contre c’est mieux connu par ceux qui font des migrations Active Directory. Comme l’indique les différentes fiches Technet, le sIDHistory sert lors d’une migration entre foret, le sID de la forêt d’origine d’un compte est repris dans cette attribut pour préserver au compte l’accès aux ressources de sa forêt d’origine, même après une migration. Lors du passage de la commande Remove-MailboxPermission, celle-ci résout bien le sIDHistory sur l’utilisateur, mais n’essai d’enlever que la partie sID, et pas le sIDHistory.

Il n’y a que deux solutions de contournement :

  • Utiliser une console d’administration Exchange 2003
  • Purger le sIDHistory du compte avant d’enlever cette permission
Sources :

http://technet.microsoft.com/en-us/library/cc974384(v=ws.10).aspx