Lors de la migration de comptes depuis OCS vers Lync via le Control Panel, il peut y avoir des comptes qui rencontres des erreurs. Dans ce cas précis, le Lync Server Control Panel reporte le message “Unable to update destination pool”, ce qui signifie que le serveur Lync n’a pas les permissions nécessaires pour mettre à jour les propriétés AD de l’utilisateur qui doit être déplacé.

Ce problème apparait généralement sur des comptes qui n’héritent pas des permission appliquées par Lync au moment des étapes Forest Prep et Domain prep. Cependant, on distingue 2 cas :

  1. L’héritage des permissions sur l’objet utilisateur a été désactivé, et il s’agit d’un utilisateur normal
  2. L’héritage des permissions sur l’objet utilisateur est désactivé car il s’agit d’un compte qui est ou qui a été membre d’un groupe d’administrateurs (Domain Admins, Print Operators…)

Dans le premier cas, il suffit d’éditer les paramètres de sécurité de l’objet utilisateur pour réappliquer l’héritage des permissions.

Dans le second cas, l’héritage des permissions est désactivé automatiquement et périodiquement par Active Directory parce que le compte est ou a été membre d’un groupe d’administrateurs. Cela est en rapport avec le mécanisme AdminSDHolder (pour plus d’informations, voir http://technet.microsoft.com/en-us/query/ee361593).

Pour éviter tout problème pour ces comptes utilisateurs, la méthode consiste à autoriser certains groupes de sécurité Lync à lire ou écrire des propriétés particulières directement sur l’objet AdminSDHolder : en effet, le fait d’appliquer des permissions sur cet objet fera qu’Active Directory les “répliquera” sur les objets utilisateurs sur lesquels il supprime l’héritage.

Il est possible d’utiliser DSACLS pour appliquer les bonnes permissions sur l’objet AdminSDHolder. Il faut indiquer le chemin LDAP de l’objet AdminSDHolder, par exemple CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com) pour appliquer les permissions suivantes :

Groupe Permissions
Authenticated Users Read Property:
RTCUserSearchPropertySet
RTCHSUniversalServices Replicating Directory Changes
RTCUniversalServerReadOnlyGroup Read Content
List Content
Read Property
List Object
RTCUniversalUserReadOnlyGroup Read Content
List Content
Read Property
List Object
RTCUniversalUserAdmins Write Property:
RTCUserProvisioningPropertySet
msExchUCVoiceMailSettings
RTCUserSearchPropertySet
RTCPropertySet
proxyAddresses
RTCUniversalUserReadOnlyGroup Read Property:
RTCUserProvisioningPropertySet
Personal Information
RTCUserSearchPropertySet
RTCPropertySet
Public Information
General Information
Account Restrictions

Voici les commandes à passer :

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalServerReadOnlyGroup:RCLCRPLO

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserReadOnlyGroup:RCLCRPLO

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCHSUniversalServices:CA;"Replicating Directory Changes"

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G "Authenticated Users":RP;RTCUserSearchPropertySet

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserAdmins:WP;RTCUserProvisioningPropertySet

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserAdmins:WP;msExchUCVoiceMailSettings

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserAdmins:WP;RTCUserSearchPropertySet

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserAdmins:WP;RTCPropertySet

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserAdmins:WP;proxyAddresses

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserReadOnlyGroup:RP;RTCUserProvisioningPropertySet

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserReadOnlyGroup:RP;"Personal Information"

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserReadOnlyGroup:RP;RTCUserSearchPropertySet

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserReadOnlyGroup:RP;RTCPropertySet

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserReadOnlyGroup:RP;"Public Information"

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserReadOnlyGroup:RP;"General Information"

dsacls CN=AdminSDHolder,CN=System,DC=corp,DC=contoso,DC=com /I:P /G CONTOSO\RTCUniversalUserReadOnlyGroup:RP;"Account Restrictions"

Attention : ces informations et commandes sont données à titre d’information. Il est obligatoire de conserver une copie des droits en place sur l’objet AdminSDHolder avant l’exécution de ces commandes pour être en mesure de rétablir les permissions d’origine en cas de problème.