Active Directory: Attributets teckenbegränsningar

När du synkroniserar data från ett källsystem som HR kan du stöta på fel om källdata överskrider den maximala teckenlängden för målattributet i Active Directory. Om källvärdet är för långt kommer Active Directory att avvisa uppdateringen, vilket orsakar ett synkroniseringsfel.

Lösningen är att använda SUBSTRING funktionen i synkroniseringsmallen. Med den här funktionen kan du trunkera källvärdet för att säkerställa att det ryms inom den tillåtna teckengränsen för AD-attributet.



Vanliga attributlängder

Nedan finns en referenslista över maximala teckenlängder som standard för vanliga Active Directory-attribut.

Attribut

Max längd

cn

64


company

64


initials

6


name

255


physicalDeliveryOfficeName

128


postOfficeBox

40


st (stat/provins)

128


streetAddress

1024


title

64




Hitta attributets längd med PowerShell

Du kan ta reda på den maximala längden för alla attribut i ditt AD-schema med hjälp av följande PowerShell-skript.

Om du vill använda skriptet sparar du det som en .ps1 filen och kör den från en PowerShell-terminal med attributets lDAPDisplayName som en parameter. Till exempel .\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]
}

Senast uppdaterad: