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 |
---|---|
| 64 |
| 64 |
| 6 |
| 255 |
| 128 |
| 40 |
| 128 |
| 1024 |
| 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 lDAPDisplayNamn
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]
}