Lors de la synchronisation des données à partir d'un système source tel que la gestion des ressources humaines (RH), des erreurs peuvent survenir si les données source dépassent la longueur maximale autorisée pour l'attribut cible dans Active Directory. Si la valeur source est trop longue, Active Directory rejettera la mise à jour, ce qui provoquera une erreur de synchronisation.
La solution consiste à utiliser le SUBSTRING fonction intégrée au modèle de synchronisation. Cette fonction vous permet de tronquer la valeur source afin de vous assurer qu'elle respecte la limite de caractères autorisée pour l'attribut AD.
Longueurs courantes des attributs
Vous trouverez ci-dessous une liste de référence indiquant les longueurs maximales par défaut des attributs courants d'Active Directory.
|
Attribut |
Longueur maximale |
|---|---|
|
|
64
|
|
|
64
|
|
|
6
|
|
|
255
|
|
|
128
|
|
|
40
|
|
|
128
|
|
|
1024
|
|
|
64
|
Déterminer la longueur d'un attribut avec PowerShell
Vous pouvez déterminer la longueur maximale de n'importe quel attribut de votre schéma AD à l'aide du script PowerShell suivant.
Pour utiliser le script, enregistrez-le sous le nom de .ps1 fichier et l'exécuter depuis un terminal PowerShell avec l'attribut lDAPDisplayName en tant que paramètre. Par exemple : .\Get-ADAttributeLength.ps1 -attributeName "telephoneNumber"
PowerShell
[cite_start]param ([string] $attributeName = $(throw "Specify attribute name")) [cite: 55]
[cite_start]$rootDSE = [ADSI]"LDAP://RootDSE" [cite: 56]
[cite_start]$attribute = [ADSI]"LDAP://CN=$attributeName,$($rootDSE.schemaNamingContext)" [cite: 57]
[cite_start]if ($attribute.rangeUpper -eq $null) { [cite: 58]
[cite_start]"no limit" [cite: 60]
[cite_start]} else { [cite: 61]
[cite_start]$attribute.rangeUpper [cite: 64]
}