Active Directory: Karakterbeperkingen voor attributen
Wanneer u gegevens synchroniseert vanuit een bronsysteem zoals HR, kunt u fouten tegenkomen als de brongegevens de maximale tekenlengte van het doelattribuut in Active Directory overschrijden. Als de bronwaarde te lang is, zal Active Directory de update weigeren en een synchronisatiefout veroorzaken.
De oplossing is om de SUBSTRING
functie binnen de synchronisatiesjabloon. Met deze functie kun je de bronwaarde inkorten om ervoor te zorgen dat deze binnen de toegestane tekenlimiet van het AD-attribuut past.
Gemeenschappelijke attribuutlengtes
Hieronder staat een referentielijst met de standaard maximale tekenlengtes voor veelvoorkomende Active Directory attributen.
Attribuut | Maximale lengte |
---|---|
| 64 |
| 64 |
| 6 |
| 255 |
| 128 |
| 40 |
| 128 |
| 1024 |
| 64 |
Attribuutlengte vinden met PowerShell
Je kunt de maximale lengte voor elk attribuut in je AD-schema vinden met het volgende PowerShell-script.
Om het script te gebruiken, sla je het op als een .ps1
bestand en voer het uit vanaf een PowerShell terminal met het attribuut lDAPDisplayName
als parameter. Bijvoorbeeld: .\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]
}