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