Translate

dimanche 14 décembre 2008

Une option méconnue de l'Exchange Unified Messaging

Il est bien connu que la messagerie unifiée "Exchange UM" est allergique aux prononciations non anglo-saxones. Aussi, il est courant de rire à l'annonce par défaut des noms par notre amie la réceptioniste de messagerie vocale (lors du fameux "Please leave a message for ...."). La prononciation de mon nom par exemple est assez cocace !

Là où cela devient moins drôle, c'est lorsque dans un environnement d'entreprise on souhaite utiliser la reconnaissance vocale pour trouver quelqu'un. Aussi, dans 90% des cas (voire plus !), il est impossible de trouver quelqu'un ayant un nom à consonance non anglo-saxone via l'Exchange UM.

L'équipe Exchange avait posté sur son blog à ce sujet, alors que je suis en ce moment même en train de jouer sur mon lab, cela m'a donné l'idée d'en remettre une couche, avec quelques petites précisions en plus...

Il existe dans l'AD un attribut à cet effet. Il s'agit du msDS-PhoneticDisplayName. Il peut-être positionné facilement en PowerShell avec la commande Set-User. Là où le bas blesse, c'est que l'attibut ne rentre pas dans le modèle d'administration d'Exchange. A moins d'avoir accès aux attributs, par le bias d'une délégation "Account Operators", "Domain Admins" ou administrateur d'une OU, l'administrateur Exchange n'est donc pas en mesure de modifier les attributs.

Voici à titre d'exemple quelques lignes PowerShell pour étendre le modèle d'administration (dans le mien, j'ai crée un rôle dédié aux administrateurs de messagerie unifiée (ici: "UM Admins")). Il faut être administateur du domaine ou de l'entreprise afin de modifier les permissions sur les conteneurs.

$DomainDN = "dc=mondomaine,dc=local"
$UMRecipientAdmins = "MONDOMAINE\UM Admins"

$DomainAdminSDHolderDN = "cn=AdminSDHolder,cn=System,{0}" -f $DomainDN
$UMExtendedAttributes = "msDS-PhoneticDisplayName","msDS-PhoneticFirstName","msDS-PhoneticLastName","msDS-PhoneticCompanyName","msDS-PhoneticDepartment"

Add-ADPermission -Identity $DomainDN -User $UMRecipientAdmins -AccessRight ReadProperty,WriteProperty -Properties $UMExtendedAttributes -InheritedObjectType user -InheritanceType Descendents -Verbose:$false

Add-ADPermission -Identity $DomainDN -User $UMRecipientAdmins -AccessRight ReadProperty,WriteProperty -Properties $UMExtendedAttributes -InheritedObjectType inetOrgPerson -InheritanceType Descendents -Verbose:$false

Add-ADPermission -Identity $DomainAdminSDHolderDN -User $UMRecipientAdmins -AccessRight ReadProperty,WriteProperty -Properties $UMExtendedAttributes -InheritedObjectType user -InheritanceType Descendents -Verbose:$false

Add-ADPermission -Identity $DomainAdminSDHolderDN -User $UMRecipientAdmins -AccessRight ReadProperty,WriteProperty -Properties $UMExtendedAttributes -InheritedObjectType inetOrgPerson -InheritanceType Descendents -Verbose:$false

Ensuite, Ô bonheur, je peux configurer mon "phonetic display name"... :)

Set-User MONDOMAINE\bboudeville -PhoneticDisplayName "Benwa Boodveel"

Et alors, miracle, la gentille madame prononce mon nom à peu près correctement ! Ca permet aussi à un français de me trouver grâce à la réceptionniste automatique (Auto Attendant) de me trouver un peu plus facilement (c'est quand même pas gagné !).

Le plus dur dans l'histoire est de trouver comment écrire phonétiquement le prénom et le nom de quelqu'un ! Astuce, si vous avez une personne anglaise, américaine, canadienne ou australienne sous la main, demandez-lui comment elle écrirait phonétiquement votre nom après le lui avoir prononcé... :)

Aucun commentaire:

Enregistrer un commentaire