Bei der Synchronisierung von Daten aus einem Quellsystem wie HR können Fehler auftreten, wenn die Quelldaten die maximale Zeichenlänge des Zielattributs in Active Directory überschreiten. Ist der Quellwert zu lang, lehnt Active Directory die Aktualisierung ab, was zu einem Synchronisierungsfehler führt.
Die Lösung besteht darin, die SUBSTRING Funktion innerhalb der Synchronisierungsvorlage. Mit dieser Funktion können Sie den Quellwert kürzen, um sicherzustellen, dass er innerhalb der zulässigen Zeichenbegrenzung des AD-Attributs bleibt.
Übliche Attribatlängen
Nachfolgend finden Sie eine Übersicht über die standardmäßigen maximalen Zeichenlängen für gängige Active Directory-Attribute.
|
Attribut |
Maximale Länge |
|---|---|
|
|
64
|
|
|
64
|
|
|
6
|
|
|
255
|
|
|
128
|
|
|
40
|
|
|
128
|
|
|
1024
|
|
|
64
|
Attributlänge mit PowerShell ermitteln
Mit dem folgenden PowerShell-Skript können Sie die maximale Länge für jedes Attribut in Ihrem AD-Schema ermitteln.
Um das Skript zu verwenden, speichern Sie es als .ps1 Datei und führen Sie sie in einem PowerShell-Terminal mit dem Attribut lDAPDisplayName als Parameter. Zum Beispiel: .\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]
}