Condividi tramite


Scrittura di espressioni per i mapping degli attributi in Microsoft Entra ID

Quando si configura la sincronizzazione cloud, uno dei tipi di mapping degli attributi che è possibile specificare è un mapping di espressioni.

Il mapping delle espressioni consente di personalizzare gli attributi usando un'espressione simile a uno script. In questo modo è possibile trasformare i dati locali in un valore nuovo o diverso. Ad esempio, è possibile combinare due attributi in un singolo attributo perché questo singolo attributo viene usato da una delle applicazioni cloud.

Il documento seguente illustra le espressioni simili a script usate per trasformare i dati. Questo è solo parte del processo. Sarà quindi necessario usare questa espressione e inserirla in una richiesta Web al tenant. Per altre informazioni su che vedere Trasformazioni

Panoramica della sintassi

La sintassi per le espressioni per i mapping degli attributi ricorda le funzioni di Visual Basic, Applications Edition (VBA).

  • L'intera espressione deve essere definita in termini di funzioni, costituite da un nome seguito da argomenti tra parentesi:
    FunctionName(<<argument 1>>,<<argument N>>)

  • È possibile annidare le funzioni l'una all'altra. Per esempio:
    FunctionOne(FunctionTwo(<<argument1>>))

  • È possibile passare tre diversi tipi di argomenti in funzioni:

    1. Attributi, che devono essere racchiusi tra parentesi quadre. Ad esempio: [attributeName]
    2. Costanti stringa, che devono essere racchiuse tra virgolette doppie. Ad esempio: "Stati Uniti"
    3. Altre funzioni. Ad esempio: FunctionOne(<<argument1>>, FunctionTwo(<<argument2>>))
  • Per le costanti stringa, se è necessaria una barra rovesciata ( \ ) o virgolette ( " ) nella stringa, deve essere preceduta da un carattere di escape con il simbolo barra rovesciata ( \ ). Ad esempio: "Nome società: \"Contoso\""

Elenco di funzioni

Elenco di funzioni Descrizione
Aggiunta Accetta un valore stringa di origine e aggiunge il suffisso alla fine di esso.
BitAnd La funzione BitAnd imposta i bit specificati su un valore.
CBool La funzione CBool restituisce un valore booleano basato sull'espressione valutata.
ConvertFromBase64 La funzione ConvertFromBase64 converte il valore con codifica Base 64 specificato in una stringa normale.
ConvertToBase64 La funzione ConvertToBase64 converte una stringa in una stringa Base 64 Unicode.
ConvertToUTF8Hex La funzione ConvertToUTF8Hex converte una stringa in un valore con codifica esadecimale UTF8.
Conteggio La funzione Count restituisce il numero di elementi in un attributo multivalore.
Cstr La funzione CStr esegue la conversione in un tipo di dati stringa.
DateFromNum La funzione DateFromNum converte un valore nel formato di data di Active Directory in un tipo di data/ora.
DNComponent La funzione DNComponent restituisce il valore di un componente DN specificato, a partire da sinistra.
Errore La funzione Error viene usata per restituire un errore personalizzato.
FormatDateTime Accetta una stringa di data da un formato e la converte in un formato diverso.
GUID Il GUID della funzione genera un nuovo GUID casuale.
IIF La funzione IIF restituisce uno dei possibili valori di un set, in base a una condizione specificata.
Instr La funzione InStr trova la prima occorrenza di una sottostringa in una stringa.
IsNull Se l'espressione restituisce Null, la funzione IsNull restituisce True.
IsNullOrEmpty Se l'espressione è Null o una stringa vuota, la funzione IsNullOrEmpty restituisce True.
IsPresent Se l'espressione restituisce una stringa non Null e non vuota, la funzione IsPresent restituisce True.
IsString Se l'espressione può essere valutata come tipo stringa, la funzione IsString restituisce True.
elemento La funzione Item restituisce un elemento da una stringa o un attributo multivalore.
Join. Join() è simile a Append(), con la differenza che può combinare più valori di stringa di origine in una singola stringa e ogni valore verrà separato da una stringa separatore .
A sinistra La funzione Left restituisce un numero di caratteri specificato a partire da sinistra di una stringa.
Metà Restituisce una sottostringa del valore di origine. Una sottostringa è una stringa che contiene solo alcuni caratteri della stringa di origine.
NormalizeDiacritics Richiede un argomento stringa. Restituisce la stringa, ma con qualsiasi carattere diacritico sostituito con caratteri non diacritici equivalenti.
Non Capovolge il valore booleano dell'origine. Se il valore di origine è "True", restituisce "False". In caso contrario, restituisce "True".
RemoveDuplicates La funzione RemoveDuplicates accetta una stringa multivalore e verifica che ogni valore sia univoco.
Sostituzione Sostituisce i valori all'interno di una stringa.
SelectUniqueValue Richiede almeno due argomenti, ovvero regole di generazione di valori univoche definite tramite espressioni. La funzione valuta ogni regola e quindi controlla il valore generato per verificarne l'univocità nell'app o nella directory di destinazione.
SingleAppRoleAssignment Restituisce un'unica appRoleAssignment dall'elenco di tutte le appRoleAssignments assegnate a un utente per una determinata applicazione.
Divisa Suddivide una stringa in una matrice multivalore, usando il carattere delimitatore specificato.
StringFromSID La funzione StringFromSid converte una matrice di byte contenente un ID di sicurezza in una stringa.
StripSpaces Rimuove tutti gli spazi (" ") dalla stringa di origine.
Interruttore Quando il valore di origine corrisponde a una chiave, restituisce il valore per tale chiave.
ToLower Accetta un valore stringa di origine e lo converte in lettere minuscole usando le regole delle impostazioni cultura specificate.
ToUpper Accetta un valore stringa di origine e lo converte in lettere maiuscole usando le regole delle impostazioni cultura specificate.
trim La funzione Trim rimuove gli spazi vuoti iniziali e finali da una stringa.
Parola La funzione Word restituisce una parola contenuta in una stringa, in base ai parametri che descrivono i delimitatori da usare e il numero della parola da restituire.

Aggiungi

Funzione:
Append(source, suffix)

Descrizione:
Accetta un valore stringa di origine e aggiunge il suffisso alla fine di esso.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa In genere il nome dell'attributo dall'oggetto di origine.
suffisso Obbligatorio Stringa Stringa da aggiungere alla fine del valore di origine.

BitAnd

Descrizione:
La funzione BitAnd imposta i bit specificati su un valore.

Sintassi:
num BitAnd(num value1, num value2)

  • value1, value2: valori numerici da unire con AND

Osservazioni:
Questa funzione converte entrambi i parametri nella rappresentazione binaria e imposta un bit su:

  • 0: se il valore di uno o entrambi i bit corrispondenti in value1 e value2 è 0
  • 1: se entrambi i bit corrispondenti sono pari a 1.

In altre parole, restituisce 0 in tutti i casi tranne quando i bit corrispondenti di entrambi i parametri sono pari a 1.

Esempio:

BitAnd(&HF, &HF7)
Restituisce 7 perché "F" Esadecimale "F7" restituiscono questo valore.


CBool

Descrizione:
La funzione CBool restituisce un valore booleano basato sull'espressione valutata.

Sintassi:
bool CBool(exp Expression)

Osservazioni:
Se l'espressione restituisce un valore diverso da zero, CBool restituisce True. In caso contrario, restituisce False.

Esempio:
CBool([attrib1] = [attrib2])

Restituisce True se entrambi gli attributi hanno lo stesso valore.


ConvertFromBase64

Descrizione:
La funzione ConvertFromBase64 converte il valore con codifica Base 64 specificato in una stringa normale.

Sintassi:
str ConvertFromBase64(str source): presuppone l'uso di Unicode per la codifica
str ConvertFromBase64(str source, enum Encoding)

  • source: stringa con codifica Base 64
  • Codifica: Unicode, ASCII, UTF8

Esempio
ConvertFromBase64("SABlAGwAbABvACAAdwBvAHIAbABkACEA")
ConvertFromBase64("SGVsbG8gd29ybGQh", UTF8)

Entrambi gli esempi restituiscono "Hello world!"


ConvertToBase64

Descrizione:
La funzione ConvertToBase64 converte una stringa in una stringa Base 64 Unicode.
Converte il valore di una matrice di interi nella rappresentazione di stringa equivalente in cifre con codifica Base 64.

Sintassi:
str ConvertToBase64(str source)

Esempio:
ConvertToBase64("Hello world!")
Restituisce "SABlAGwAbABvACAAdwBvAHIAbABkACEA"


ConvertToUTF8Hex

Descrizione:
La funzione ConvertToUTF8Hex converte una stringa in un valore con codifica esadecimale UTF8.

Sintassi:
str ConvertToUTF8Hex(str source)

Osservazioni:
Il formato dell'output di questa funzione viene usato da Microsoft Entra ID come formato dell'attributo DN.

Esempio:
ConvertToUTF8Hex("Hello world!")
Restituisce 48656C6C6F20776F726C6421


Conto

Descrizione:
La funzione Count restituisce il numero di elementi in un attributo multivalore.

Sintassi:
num Count(mvstr attribute)


CStr

Descrizione:
La funzione CStr esegue la conversione in un tipo di dati stringa.

Sintassi:
str CStr(num value)
str CStr(ref value)
str CStr(bool value)

  • value: può essere un valore numerico, un attributo di riferimento o un valore booleano.

Esempio:
CStr([dn])
Può restituire "cn=Joe,dc=contoso,dc=com"


DateFromNum

Descrizione:
La funzione DateFromNum converte un valore nel formato di data di Active Directory in un tipo di data/ora.

Sintassi:
dt DateFromNum(num value)

Esempio:
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
Restituisce un valore di data/ora che rappresenta 2012-01-01 23:00:00


DNComponent

Descrizione:
La funzione DNComponent restituisce il valore di un componente DN specificato, a partire da sinistra.

Sintassi:
str DNComponent(ref dn, num ComponentNumber)

  • dn: attributo di riferimento da interpretare
  • ComponentNumber: componente nel DN da restituire

Esempio:
DNComponent(CRef([dn]),1)
Se dn è "cn=Joe,ou=…," verrà restituito Joe


Errore

Descrizione:
La funzione Error viene usata per restituire un errore personalizzato.

Sintassi:
void Error(str ErrorMessage)

Esempio:
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
Se l'attributo accountName non è presente, viene generato un errore nell'oggetto.


FormatDateTime

Funzione:
FormatDateTime(source, inputFormat, outputFormat)

Descrizione:
Accetta una stringa di data da un formato e la converte in un formato diverso.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa In genere il nome dell'attributo dall'oggetto di origine.
inputFormat Obbligatorio Stringa Formato previsto del valore di origine. Per i formati supportati, vedere /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Obbligatorio Stringa Formato della data di output.

Guid

Descrizione:
La funzione Guid genera un nuovo GUID casuale

Sintassi:
str Guid()


IIF

Descrizione:
La funzione IIF restituisce uno dei possibili valori di un set, in base a una condizione specificata.

Sintassi:
var IIF(exp condition, var valueIfTrue, var valueIfFalse)

  • condition: qualsiasi valore o espressione che possa restituire true o false.
  • valueIfTrue: se la condizione restituisce true, il valore restituito.
  • valueIfFalse: se la condizione restituisce false, il valore restituito.

Esempio:
IIF([employeeType]="Intern","t-" & [alias],[alias])
Se l'utente è uno stagista, restituisce l'alias di un utente, aggiungendo "t-" all'inizio. In caso contrario restituisce l'alias dell'utente invariato.


Instr

Descrizione:
La funzione InStr trova la prima occorrenza di una sottostringa in una stringa.

Sintassi:

num InStr(str stringcheck, str stringmatch)
num InStr(str stringcheck, str stringmatch, num start)
num InStr(str stringcheck, str stringmatch, num start, enum compare)

  • stringcheck: stringa da cercare
  • stringmatch: stringa da trovare
  • start: posizione iniziale per la ricerca della sottostringa
  • compare: vbTextCompare o vbBinaryCompare

Osservazioni:
Restituisce la posizione in cui è stata trovata la sottostringa o 0 se non viene trovata.

Esempio:
InStr("The quick brown fox","quick")
Restituisce 5

InStr("repEated","e",3,vbBinaryCompare)
Restituisce 7


È nullo

Descrizione:
Se l'espressione restituisce Null, la funzione IsNull restituisce True.

Sintassi:
bool IsNull(var Expression)

Osservazioni:
Per un attributo, Null è espresso dall'assenza dell'attributo.

Esempio:
IsNull([displayName])
Restituisce True se l'attributo non è presente in CS o MV.


IsNullOrEmpty

Descrizione:
Se l'espressione è Null o una stringa vuota, la funzione IsNullOrEmpty restituisce True.

Sintassi:
bool IsNullOrEmpty(var Expression)

Osservazioni:
Per un attributo, verrà restituito True se l'attributo è assente oppure se è presente, ma è una stringa vuota.
La funzione inversa di questa funzione è denominata IsPresent.

Esempio:
IsNullOrEmpty([displayName])
Restituisce True se l'attributo non è presente oppure è una stringa vuota in CS o MV.


IsPresent

Descrizione:
Se l'espressione restituisce una stringa non Null e non vuota, la funzione IsPresent restituisce True.

Sintassi:
bool IsPresent(var expression)

Osservazioni:
La funzione inversa di questa funzione è denominata IsNullOrEmpty.

Esempio:
Switch(IsPresent([directManager]),[directManager], IsPresent([skiplevelManager]),[skiplevelManager], IsPresent([director]),[director])


Elemento

Descrizione:
La funzione Item restituisce un elemento da una stringa o un attributo multivalore.

Sintassi:
var Item(mvstr attribute, num index)

  • attribute: attributo multivalore
  • index: indice di un elemento nella stringa multivalore.

Osservazioni:
La funzione Item usata con la funzione Contains è utile, perché quest'ultima restituisce l'indice di un elemento nell'attributo multivalore.

Genera un errore se l'indice non è compreso nell'intervallo.

Esempio:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
Restituisce l'indirizzo di posta elettronica primario.


IsString

Descrizione:
Se l'espressione può essere valutata come tipo stringa, la funzione IsString restituisce True.

Sintassi:
bool IsString(var expression)

Osservazioni:
Usata per determinare se CStr() riuscirà ad analizzare l'espressione.


Unisciti.

Funzione:
Join(separator, source1, source2, ...)

Descrizione:
Join() è simile a Append(), con la differenza che può combinare più valori di stringa di origine in una singola stringa e ogni valore verrà separato da una stringa separatore .

Se uno dei valori di origine è un attributo multivalore, ogni valore di tale attributo verrà unito, separato dal valore separatore.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
separatore Obbligatorio Stringa Stringa usata per separare i valori di origine quando vengono concatenati in una stringa. Può essere "" se non è necessario alcun separatore.
source1 ... sourceN Obbligatorio, numero variabile di volte Stringa Valori stringa da unire insieme.

A sinistra

Descrizione:
La funzione Left restituisce un numero di caratteri specificato a partire da sinistra di una stringa.

Sintassi:
str Left(str string, num NumChars)

  • string: stringa dalla quale restituire i caratteri
  • NumChars: numero che identifica il numero di caratteri da restituire dall'inizio (sinistra) della stringa

Osservazioni:
Una stringa contenente i primi caratteri numChars della stringa:

  • Se numChars = 0, restituisce una stringa vuota.
  • Se numChars < 0, restituisce una stringa di input.
  • Se string è Null, restituisce una stringa vuota.

Se string contiene un numero di caratteri inferiore al numero specificato in numChars, viene restituita una stringa identica a string (ovvero contenente tutti i caratteri nel parametro 1).

Esempio:
Left("John Doe", 3)
Restituisce Joh.


Medio

Funzione:
Mid(source, start, length)

Descrizione:
Restituisce una sottostringa del valore di origine. Una sottostringa è una stringa che contiene solo alcuni caratteri della stringa di origine.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa In genere il nome dell'attributo.
inizio Obbligatorio numero intero Indice nella stringa di origine in cui deve essere avviata la sottostringa. Il primo carattere nella stringa avrà un indice pari a 1, il secondo carattere avrà indice 2 e così via.
lunghezza Obbligatorio numero intero Lunghezza della sottostringa. Se la lunghezza termina all'esterno della stringa di origine , la funzione restituirà la sottostringa dall'indice iniziale fino alla fine della stringa di origine .

NormalizeDiacritics

Funzione:
NormalizeDiacritics(source)

Descrizione:
Richiede un argomento stringa. Restituisce la stringa, ma con qualsiasi carattere diacritico sostituito con caratteri non diacritici equivalenti. In genere usato per convertire nomi e cognome contenenti caratteri diacritici (segni accentati) in valori legali che possono essere usati in vari identificatori utente, ad esempio nomi di entità utente, nomi di account SAM e indirizzi di posta elettronica.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa In genere un attributo nome o cognome.

Non

Funzione:
Not(source)

Descrizione:
Capovolge il valore booleano dell'origine. Se il valore di origine è "True", restituisce "False". In caso contrario, restituisce "True".

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa booleana I valori di origine previsti sono "True" o "False".

RemoveDuplicates

Descrizione:
La funzione RemoveDuplicates accetta una stringa multivalore e verifica che ogni valore sia univoco.

Sintassi:
mvstr RemoveDuplicates(mvstr attribute)

Esempio:
RemoveDuplicates([proxyAddresses])
Restituisce un attributo proxyAddress purificato in cui sono stati rimossi tutti i valori duplicati.


Sostituire

Funzione:
Replace(source, oldValue, regexPattern, regexGroupName, replacementValue, replacementAttributeName, template)

Descrizione:
Sostituisce i valori all'interno di una stringa. Funziona in modo diverso a seconda dei parametri forniti:

  • Quando vengono forniti oldValue e replacementValue :

    • Sostituisce tutte le occorrenze di oldValuenell'origine con replacementValue
  • Quando vengono forniti oldValue e template :

    • Sostituisce tutte le occorrenze di oldValue nel modello con il valore di origine
  • Quando vengono forniti regexPattern e replacementValue :

    • La funzione applica regexPattern alla stringa di origine ed è possibile usare i nomi dei gruppi regex per costruire la stringa per replacementValue
  • Quando regexPattern, regexGroupName, replacementValue viene fornito:

    • La funzione applica regexPattern alla stringa di origine e sostituisce tutti i valori corrispondenti a regexGroupName con replacementValue
  • Quando regexPattern, regexGroupName, replacementAttributeName viene fornito:

    • Se l'origine non ha alcun valore, viene restituita l'origine
    • Se source ha un valore, la funzione applica regexPattern alla stringa di origine e sostituisce tutti i valori corrispondenti a regexGroupName con il valore associato a replacementAttributeName

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa In genere il nome dell'attributo dall'oggetto di origine .
oldValue Opzionale Stringa Valore da sostituire nell'origine o nel modello.
regexPattern Opzionale Stringa Modello regex per il valore da sostituire nell'origine. In alternativa, quando viene usato replacementPropertyName , pattern per estrarre il valore da replacementPropertyName.
regexGroupName Opzionale Stringa Nome del gruppo all'interno di regexPattern. Solo quando viene usato replacementPropertyName , il valore di questo gruppo verrà estratto come replacementValue da replacementPropertyName.
replacementValue Opzionale Stringa Nuovo valore con cui sostituire quello precedente.
replacementAttributeName Opzionale Stringa Nome dell'attributo da usare per il valore di sostituzione
modello Opzionale Stringa Quando viene specificato il valore del modello , si cercherà oldValue all'interno del modello e lo sostituirà con il valore di origine .

SelectUniqueValue

Funzione:
SelectUniqueValue(uniqueValueRule1, uniqueValueRule2, uniqueValueRule3, ...)

Descrizione:
Richiede almeno due argomenti, ovvero regole di generazione di valori univoche definite tramite espressioni. La funzione valuta ogni regola e quindi controlla il valore generato per verificarne l'univocità nell'app o nella directory di destinazione. Il primo valore univoco trovato sarà quello restituito. Se tutti i valori esistono già nella destinazione, la voce verrà depositata e il motivo viene registrato nei log di controllo. Non esiste alcun limite superiore al numero di argomenti che è possibile specificare.

Annotazioni

  • Si tratta di una funzione di primo livello, che non può essere annidata.
  • Questa funzione non può essere applicata agli attributi con precedenza corrispondente.
  • Questa funzione deve essere usata solo per le creazioni di voci. Quando viene usata con un attributo, impostare la proprietà Applica mapping su Solo durante la creazione dell'oggetto.
  • Questa funzione è attualmente supportata solo per il provisioning utenti di Workday e SuccessFactors in Active Directory. Non può essere usato con altre applicazioni di provisioning.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
uniqueValueRule1 ... uniqueValueRuleN Almeno 2 sono obbligatori, nessun limite superiore Stringa Elenco di regole di generazione di valori univoci da valutare.

SingleAppRoleAssignment

Funzione:
SingleAppRoleAssignment([appRoleAssignments])

Descrizione:
Restituisce un'unica appRoleAssignment dall'elenco di tutte le appRoleAssignments assegnate a un utente per una determinata applicazione. Questa funzione è necessaria per convertire l'oggetto appRoleAssignments in una singola stringa del nome del ruolo. Si noti che la procedura consigliata consiste nel garantire che venga assegnata una sola appRoleAssignment a un utente alla volta e se a più ruoli viene assegnata la stringa di ruolo restituita potrebbe non essere prevedibile.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
[appRoleAssignments] Obbligatorio Stringa Oggetto [appRoleAssignments].

Divisa

Funzione:
Split(source, delimiter)

Descrizione:
Suddivide una stringa in una matrice multivalore, usando il carattere delimitatore specificato.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa valore di origine da aggiornare.
delimitatore Obbligatorio Stringa Specifica il carattere che verrà usato per suddividere la stringa (ad esempio: ",")

StringFromSid

Descrizione:
La funzione StringFromSid converte una matrice di byte contenente un ID di sicurezza in una stringa.

Sintassi:
str StringFromSid(bin ObjectSID)


StripSpaces

Funzione:
StripSpaces(source)

Descrizione:
Rimuove tutti gli spazi (" ") dalla stringa di origine.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa valore di origine da aggiornare.

Interruttore

Funzione:
Switch(source, defaultValue, key1, value1, key2, value2, ...)

Descrizione:
Quando il valore di origine corrisponde a una chiave, restituisce il valore per tale chiave. Se il valore di origine non corrisponde ad alcuna chiave, restituisce defaultValue. I parametri chiave e valore devono essere sempre in coppie. La funzione prevede sempre un numero pari di parametri.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa Valore di origine da controllare.
defaultValue Opzionale Stringa Valore predefinito da usare quando l'origine non corrisponde ad alcuna chiave. Può essere una stringa vuota ("").
chiave Obbligatorio Stringa Chiave con cui confrontare il valore di origine .
valore Obbligatorio Stringa Valore di sostituzione per l'origine corrispondente alla chiave.

ToLower

Funzione:
ToLower(source, culture)

Descrizione:
Accetta un valore stringa di origine e lo converte in lettere minuscole usando le regole delle impostazioni cultura specificate. Se non sono specificate informazioni sulle impostazioni cultura , userà le impostazioni cultura invarianti.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa In genere il nome dell'attributo dall'oggetto di origine
Impostazioni cultura Opzionale Stringa Il formato per il nome delle impostazioni cultura basato su RFC 4646 è languagecode2-country/regioncode2, dove languagecode2 è il codice lingua a due lettere e country/regioncode2 è il codice della sottoculture a due lettere. Gli esempi includono ja-JP per il giapponese (Giappone) e en-US per l'inglese (Stati Uniti). Nei casi in cui non è disponibile un codice linguistico a due lettere, viene usato un codice di tre lettere derivato da ISO 639-2.

ToUpper

Funzione:
ToUpper(source, culture)

Descrizione:
Accetta un valore stringa di origine e lo converte in lettere maiuscole usando le regole delle impostazioni cultura specificate. Se non sono specificate informazioni sulle impostazioni cultura , userà le impostazioni cultura invarianti.

Parametri:

Nome Obbligatorio/Ripetuto TIPO Note
origine Obbligatorio Stringa In genere il nome dell'attributo dall'oggetto di origine.
Impostazioni cultura Opzionale Stringa Il formato per il nome delle impostazioni cultura basato su RFC 4646 è languagecode2-country/regioncode2, dove languagecode2 è il codice lingua a due lettere e country/regioncode2 è il codice della sottoculture a due lettere. Gli esempi includono ja-JP per il giapponese (Giappone) e en-US per l'inglese (Stati Uniti). Nei casi in cui non è disponibile un codice linguistico a due lettere, viene usato un codice di tre lettere derivato da ISO 639-2.

Rifinire

Descrizione:
La funzione Trim rimuove gli spazi vuoti iniziali e finali da una stringa.

Sintassi:
str Trim(str value)

Esempio:
Trim(" Test ")
Restituisce "test".

Trim([proxyAddresses])
Rimuove gli spazi iniziali e finali per ogni valore nell'attributo proxyAddress.


Parola

Descrizione:
La funzione Word restituisce una parola contenuta in una stringa, in base ai parametri che descrivono i delimitatori da usare e il numero della parola da restituire.

Sintassi:
str Word(str string, num WordNumber, str delimiters)

  • string: stringa dalla quale restituire una parola.
  • WordNumber: numero che identifica il numero di parole da restituire.
  • delimiters: stringa che rappresenta uno o più delimitatori da usare per identificare le parole

Osservazioni:
Ogni stringa di caratteri contenuta nella stringa con valori separati da uno dei caratteri specificati nei delimitatori viene identificata come una parola:

  • Se number è < 1, restituisce una stringa vuota.
  • Se string è Null, restituisce una stringa vuota.

Se la stringa contiene meno delle parole specificate in number o se non contiene alcuna parola identificata da delimiters, viene restituita una stringa vuota.

Esempio:
Word("The quick brown fox",3," ")
Restituisce "brown"

Word("This,string!has&many separators",3,",!&#")
Restituisce "has"

Esempi

Rimuovere il nome di dominio noto

È necessario rimuovere un nome di dominio noto dal messaggio di posta elettronica di un utente per ottenere un nome utente.
Ad esempio, se il dominio è "contoso.com", è possibile usare l'espressione seguente:

Espressione:
Replace([mail], "@contoso.com", , ,"", ,)

Input/output di esempio:

  • INPUT (posta): "john.doe@contoso.com"
  • OUTPUT: "john.doe"

Aggiungere il suffisso costante al nome utente

Se si usa un sandbox salesforce, potrebbe essere necessario aggiungere un suffisso aggiuntivo a tutti i nomi utente prima di sincronizzarli.

Espressione:
Append([userPrincipalName], ".test")

Input/output di esempio:

  • INPUT (userPrincipalName): "John.Doe@contoso.com"
  • OUTPUT: "John.Doe@contoso.com.test"

Generare l'alias utente concatenando parti di nome e cognome

È necessario generare un alias utente prendendo le prime 3 lettere del nome dell'utente e le prime 5 lettere del cognome dell'utente.

Espressione:
Append(Mid([givenName], 1, 3), Mid([surname], 1, 5))

Input/output di esempio:

  • INPUT (givenName): "John"
  • INPUT (cognome): "Doe"
  • OUTPUT: "JohDoe"

Rimuovere segni diacritici da una stringa

È necessario sostituire i caratteri contenenti segni accenti con caratteri equivalenti che non contengono segni accenti.

Espressione:
NormalizeDiacritics([givenName])

Input/output di esempio:

  • INPUT (givenName): "Zoë"
  • OUTPUT: "Zoe"

Dividere una stringa in una matrice multivalore

È necessario prendere un elenco delimitato da virgole di stringhe e dividerli in una matrice che può essere collegata a un attributo multivalore come l'attributo PermissionSets di Salesforce. In questo esempio, un elenco di set di autorizzazioni è stato popolato in extensionAttribute5 in Microsoft Entra ID.

Espressione:
Split([extensionAttribute5], ",")

Input/output di esempio:

  • INPUT (extensionAttribute5): "PermissionSetOne, PermissionSetTwo"
  • OUTPUT: ["PermissionSetOne", "PermissionSetTwo"]

Data di output come stringa in un determinato formato

Si vogliono inviare date a un'applicazione SaaS in un determinato formato.
Ad esempio, si vogliono formattare le date per ServiceNow.

Espressione:

FormatDateTime([extensionAttribute1], "yyyyMMddHHmmss.fZ", "yyyy-MM-dd")

Input/output di esempio:

  • INPUT (extensionAttribute1): "20150123105347.1Z"
  • OUTPUT: "2015-01-23"

Sostituire un valore in base al set predefinito di opzioni

È necessario definire il fuso orario dell'utente in base al codice di stato archiviato in Microsoft Entra ID.
Se il codice di stato non corrisponde ad alcuna delle opzioni predefinite, usare il valore predefinito "Australia/Sydney".

Espressione:
Switch([state], "Australia/Sydney", "NSW", "Australia/Sydney","QLD", "Australia/Brisbane", "SA", "Australia/Adelaide")

Input/output di esempio:

  • INPUT (stato): "QLD"
  • OUTPUT: "Australia/Brisbane"

Sostituire i caratteri usando un'espressione regolare

È necessario trovare caratteri che corrispondono a un valore di espressione regolare e rimuoverli.

Espressione:

Replace([mailNickname], , "[a-zA-Z_]*", , "", , )

Input/output di esempio:

  • INPUT (mailNickname: "john_doe72"
  • OUTPUT: "72"

Convertire il valore userPrincipalName (UPN) generato in lettere minuscole

Nell'esempio seguente il valore UPN viene generato concatenando i campi di origine PreferredFirstName e PreferredLastName e la funzione ToLower opera sulla stringa generata per convertire tutti i caratteri in lettere minuscole.

ToLower(Join("@", NormalizeDiacritics(StripSpaces(Join(".", [PreferredFirstName], [PreferredLastName]))), "contoso.com"))

Input/output di esempio:

  • INPUT (PreferredFirstName): "John"
  • INPUT (PreferredLastName): "Smith"
  • OUTPUT: "john.smith@contoso.com"

Generare un valore univoco per l'attributo userPrincipalName (UPN)

In base al nome dell'utente, al secondo nome e al cognome, è necessario generare un valore per l'attributo UPN e verificarne l'univocità nella directory di AD di destinazione prima di assegnare il valore all'attributo UPN.

Espressione:

    SelectUniqueValue( 
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  [PreferredFirstName], [PreferredLastName]))), "contoso.com"), 
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  Mid([PreferredFirstName], 1, 1), [PreferredLastName]))), "contoso.com"),
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  Mid([PreferredFirstName], 1, 2), [PreferredLastName]))), "contoso.com")
    )

Input/output di esempio:

  • INPUT (PreferredFirstName): "John"
  • INPUT (PreferredLastName): "Smith"
  • OUTPUT: "John.Smith@contoso.com" se il valore UPN di John.Smith@contoso.com non esiste già nella directory
  • OUTPUT: "J.Smith@contoso.com" se il valore UPN di John.Smith@contoso.com esiste già nella directory
  • OUTPUT: "Jo.Smith@contoso.com" se i due valori UPN precedenti esistono già nella directory

Passaggi successivi