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

cn

64


company

64


initials

6


name

255


physicalDeliveryOfficeName

128


postOfficeBox

40


st (Staat/Provincie)

128


streetAddress

1024


title

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]
}

Laatst bijgewerkt: