Active Directory: Tegnbegrensninger for attributter
Når du synkroniserer data fra et kildesystem som HR, kan det oppstå feil hvis kildedataene overskrider den maksimale tegnlengden for målattributtet i Active Directory. Hvis kildeverdien er for lang, vil Active Directory avvise oppdateringen og forårsake en synkroniseringsfeil.
Løsningen er å bruke SUBSTRING
funksjon i synkroniseringsmalen. Med denne funksjonen kan du trunkere kildeverdien for å sikre at den passer innenfor den tillatte tegngrensen for AD-attributtet.
Vanlige attributtlengder
Nedenfor finner du en referanseliste over standard maksimal tegnlengde for vanlige Active Directory-attributter.
Attributt | Maks lengde |
---|---|
| 64 |
| 64 |
| 6 |
| 255 |
| 128 |
| 40 |
| 128 |
| 1024 |
| 64 |
Finn attributtlengde med PowerShell
Du kan finne maksimumslengden for et hvilket som helst attributt i AD-skjemaet ditt ved hjelp av følgende PowerShell-skript.
For å bruke skriptet, lagrer du det som en .ps1
filen og kjøre den fra en PowerShell-terminal med attributtets lDAPDisplayName
som en parameter. For eksempel .\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]
}