Condividi tramite


Scrivere espressioni per i mapping di attributi in Microsoft Entra ID

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

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

Nel documento seguente verranno trattate le espressioni di tipo script usate per trasformare i dati. Questa è solo una parte del processo. Successivamente sarà necessario usare questa espressione e inserirla in una richiesta Web per il tenant. Per altre informazioni, vedere Trasformazioni

Panoramica della sintassi

La sintassi per le espressioni per i mapping degli attributi è simile a quella delle funzioni di Visual Basic for Applications (VBA).

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

  • È possibile annidare le funzioni in altre funzioni. Ad esempio:
    FunctionOne(FunctionTwo(<<argument1>>))

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

    1. Attributi, che devono essere racchiusi tra parentesi quadre. Ad esempio: [NomeAttributo]
    2. Costanti di stringa, che devono essere racchiuse tra virgolette doppie. Ad esempio: "Stati Uniti"
    3. Altre funzioni. Ad esempio: FunzioneUno(<<argument1>>, FunzioneDue(<<argument2>>))
  • Eventuali barre rovesciate ( \ ) o virgolette ( " ) da inserire nella costante di stringa dovranno essere precedute dal simbolo di barra rovesciata ( \ ) come carattere di escape. Ad esempio: "Nome società: \"Contoso\""

Elenco di funzioni

Elenco di funzioni Descrizione
Aggiunta Accetta un valore di stringa di origine e aggiunge un suffisso alla fine del valore.
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 data in un formato e la converte in un formato diverso.
GUID La funzione Guid 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.
Articolo La funzione Item restituisce un elemento da una stringa o un attributo multivalore.
Join. Join() è simile ad Append(), ma può combinare più valori di stringa source in un singola stringa e ogni valore sarà separato da una stringa separator.
Left La funzione Left restituisce un numero di caratteri specificato a partire da sinistra di una stringa.
Mid Restituisce una sottostringa del valore source. Una sottostringa è una stringa che contiene solo alcuni caratteri della stringa di origine.
NormalizeDiacritics Richiede un argomento stringa. Restituisce la stringa, ma con i caratteri diacritici sostituiti dagli equivalenti caratteri non diacritici.
Not Inverte il valore booleano di source. Se il valore di source è "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, costituiti da regole di generazione di valori univoci definite tramite espressioni. La funzione valuta ogni regola e controlla quindi il valore generato per verificarne l'univocità nella directory/app di destinazione.
SingleAppRoleAssignment Restituisce un singolo oggetto appRoleAssignment dall'elenco di tutti gli oggetti appRoleAssignments assegnati a un utente per una determinata applicazione.
Split Divide una stringa in una matrice multi-valore usando il carattere di delimitazione specificato.
StringFromSID La funzione StringFromSid converte una matrice di byte contenente un ID di sicurezza in una stringa.
StripSpaces Rimuove tutti i caratteri di spazio (" ") dalla stringa di origine.
Switch Quando il valore source corrisponde a key, verrà restituito un parametro value per tale oggetto key.
ToLower Prende un valore della stringa di origine e lo converte in caratteri minuscoli usando le regole delle impostazioni cultura specificate.
ToUpper Prende un valore della stringa di origine e lo converte in caratteri maiuscoli usando le regole delle impostazioni cultura specificate.
Trim La funzione Trim rimuove gli spazi vuoti iniziali e finali da una stringa.
Word 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.

Aggiunta

Funzione:
Append(source, suffix)

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

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String In genere è il nome dell'attributo dell'oggetto source.
suffix Richiesto String 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

Note:
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é i valori esadecimali "F" e "F7" restituiscono questo valore.


CBool

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

Sintassi:
bool CBool(exp Expression)

Note:
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
  • Encoding: 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)

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

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


Conteggio

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


Error

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 data in un formato e la converte in un formato diverso.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String In genere è il nome dell'attributo dell'oggetto source.
inputFormat Richiesto String Formato previsto del valore source. Per i formati supportati, vedere /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Richiesto String 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

Note:
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


IsNull

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

Sintassi:
bool IsNull(var Expression)

Note:
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)

Note:
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)

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

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


Articolo

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.

Note:
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)

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


Join.

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

Descrizione:
Join() è simile ad Append(), ma può combinare più valori di stringa source in un singola stringa e ogni valore sarà separato da una stringa separator.

Se uno dei valori di origine è un attributo multivalore, verranno uniti tutti i valori dell'attributo, separati dal valore separatore.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
separator Richiesto String Stringa usata per separare i valori di origine quando sono concatenati in una stringa. Può essere "" se non sono necessari separatori.
source1 sourceN Obbligatorio per un numero variabile di volte String Valori stringa da unire.

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

Note:
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.


Mid

Funzione:
Mid(source, start, length)

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

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String Corrisponde in genere al nome dell'attributo.
start Richiesto integer Indice nella stringa source che indica il punto di inizio della sottostringa. L'indice del primo carattere della stringa sarà pari a 1, quello del secondo carattere a 2 e così via.
length Richiesto integer Lunghezza della sottostringa. Se la lunghezza eccede la stringa source, la funzione restituirà una sottostringa dall'indice start fino alla fine della stringa source.

NormalizeDiacritics

Funzione:
NormalizeDiacritics(source)

Descrizione:
Richiede un argomento stringa. Restituisce la stringa, ma con i caratteri diacritici sostituiti dagli equivalenti caratteri non diacritici. Viene in genere usata per convertire i nomi e i cognomi contenenti caratteri diacritici (accenti) in valori validi che possono essere usati in vari ID utente, ad esempio nomi dell'entità utente, nomi di account SAM e indirizzi di posta elettronica.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String In genere un attributo nome o cognome.

Not

Funzione:
Not(source)

Descrizione:
Inverte il valore booleano di source. Se il valore di source è "True", restituisce "False". In caso contrario, restituisce "True".

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto Stringa booleana I valori previsti per source 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.


Sostituzione

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:

  • Se vengono forniti oldValue e replacementValue:

    • Sostituisce tutte le occorrenze di oldValue in source con replacementValue
  • Se vengono forniti oldValue e template:

    • Sostituisce tutte le occorrenze di oldValue in template con il valore source
  • Se vengono forniti regexPattern e replacementValue:

    • La funzione applica regexPattern alla stringa source ed è possibile usare i nomi del gruppo di regex per creare la stringa per replacementValue
  • Se vengono forniti regexPattern, regexGroupName e replacementValue:

    • La funzione applica regexPattern alla stringa source e sostituisce tutti i valori che corrispondono a regexGroupName con replacementValue
  • Se vengono forniti regexPattern, regexGroupName e replacementAttributeName:

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

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String In genere è il nome dell'attributo dell'oggetto source.
oldValue Facoltativo String Valore da sostituire in source o template.
regexPattern Facoltativo String Criterio di espressione regolare per il valore da sostituire in source. Se invece si usa replacementPropertyName, corrisponde al modello usato per estrarre il valore da replacementPropertyName.
regexGroupName Facoltativo String Nome del gruppo in regexPattern. Solo se si usa replacementPropertyName, il valore di questo gruppo verrà estratto come replacementValue da replacementPropertyName.
replacementValue Facoltativo String Nuovo valore con cui sostituire il precedente.
replacementAttributeName Facoltativo String Nome dell'attributo da usare per il valore di sostituzione
annidato Facoltativo String Se viene fornito il valore template, il valore oldValue verrà cercato in template e sostituito con il valore di source.

SelectUniqueValue

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

Descrizione:
Richiede almeno due argomenti, costituiti da regole di generazione di valori univoci definite tramite espressioni. La funzione valuta ogni regola e controlla quindi il valore generato per verificarne l'univocità nella directory/app di destinazione. Il primo valore univoco trovato sarà quello restituito. Se tutti i valori trovati sono già presenti nella destinazione, la voce verrà depositata e il motivo verrà registrato nei log di controllo. Non è previsto alcun limite relativamente al numero di argomenti che è possibile specificare.

Nota

  • Si tratta di una funzione di primo livello che non può essere annidata.
  • Questa funzione non può essere applicata agli attributi con precedenza abbinamento.
  • Questa funzione è destinata a essere usata solo per la creazione di voci. Se viene usata con un attributo, impostare la proprietà Applica questo mapping su Solo durante la creazione dell'oggetto.
  • Questa funzione è attualmente supportata solo per il "provisioning utenti da Workday e SuccessFactors ad Active Directory". Non può essere usata con altre applicazioni di provisioning.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
uniqueValueRule1 … uniqueValueRuleN Sono necessari almeno 2 argomenti, nessun limite superiore String Elenco delle regole di generazione di valori univoci da valutare.

SingleAppRoleAssignment

Funzione:
SingleAppRoleAssignment([appRoleAssignments])

Descrizione:
Restituisce un singolo oggetto appRoleAssignment dall'elenco di tutti gli oggetti appRoleAssignments assegnati a un utente per una determinata applicazione. Questa funzione è necessaria per convertire l'oggetto appRoleAssignments in una singola stringa relativa al nome di un ruolo. Si noti che la procedura consigliata è quella di assicurarsi che un solo oggetto appRoleAssignment venga assegnato a un solo utente alla volta. Se vengono assegnati più ruoli, la stringa di ruolo restituita potrebbe non essere prevedibile.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
[appRoleAssignments] Richiesto String Oggetto [appRoleAssignments].

Divisa

Funzione:
Split(source, delimiter)

Descrizione:
Divide una stringa in una matrice multi-valore usando il carattere di delimitazione specificato.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String source da aggiornare.
delimiter Richiesto String Specifica il carattere che verrà usato per dividere la stringa (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 i caratteri di spazio (" ") dalla stringa di origine.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String source da aggiornare.

Switch

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

Descrizione:
Quando il valore source corrisponde a key, verrà restituito un parametro value per tale oggetto key. Se il valore del parametro source non corrisponde ad alcuna chiave, verrà restituito defaultValue. I parametri key e value devono essere sempre accoppiati. Le funzioni prevedono sempre un numero pari di parametri.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String Valore source da controllare.
defaultValue Facoltativo String Valore predefinito da usare se l'origine non corrisponde ad alcuna chiave. Può essere una stringa vuota ("").
key Richiesto String Parametro key con cui confrontare il valore di source.
value Richiesto String Valore di sostituzione per il valore source corrispondente al parametro key.

ToLower

Funzione:
ToLower (origine, impostazioni cultura)

Descrizione:
Prende un valore della stringa di origine e lo converte in caratteri minuscoli usando le regole delle impostazioni cultura specificate. Se non sono specificate informazioni per le impostazioni cultura, verranno usate le impostazioni cultura inglese non dipendenti da paese/area geografica.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String In genere è il nome dell'attributo dell'oggetto di origine.
Impostazioni cultura Facoltativo String Il formato per il nome delle impostazioni cultura basato su RFC 4646 è languagecode2-country/regioncode2, in cui languagecode2 è il codice lingua a due lettere e country/regioncode2 è il codice di impostazioni cultura secondarie 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 lingua a due lettere, viene usato un codice a tre lettere derivato da ISO 639-2.

ToUpper

Funzione:
ToUpper (origine, impostazioni cultura)

Descrizione:
Prende un valore della stringa di origine e lo converte in caratteri maiuscoli usando le regole delle impostazioni cultura specificate. Se non sono specificate informazioni per le impostazioni cultura, verranno usate le impostazioni cultura inglese non dipendenti da paese/area geografica.

Parametri:

Nome Obbligatorio/Ripetuto Type Note
source Richiesto String In genere è il nome dell'attributo dell'oggetto source.
Impostazioni cultura Facoltativo String Il formato per il nome delle impostazioni cultura basato su RFC 4646 è languagecode2-country/regioncode2, in cui languagecode2 è il codice lingua a due lettere e country/regioncode2 è il codice di impostazioni cultura secondarie 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 lingua a due lettere, viene usato un codice a tre lettere derivato da ISO 639-2.

Trim

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.


Word

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

Note:
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 un nome di dominio noto

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

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

Input/output di esempio:

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

Aggiungere un suffisso costante al nome utente

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

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

Input/output di esempio:

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

Generare un alias utente concatenando parti del nome e del cognome

Occorre generare un alias utente contenente le prime tre lettere del nome e le prime cinque lettere del cognome dell'utente.

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

Input/output di esempio:

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

Rimuovere i segni diacritici da una stringa

È necessario sostituire i caratteri contenenti accenti con gli equivalenti caratteri non contenenti accenti.

Expression:
NormalizeDiacritics([givenName])

Input/output di esempio:

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

Dividere una stringa in una matrice multivalore

È necessario partire da un elenco di stringhe delimitate da virgole e dividerlo in una matrice che possa essere inserita in 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.

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

Input/output di esempio:

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

Eseguire l'output della data come stringa in un formato specifico

Occorre inviare date a un'applicazione SaaS in un formato specifico,
Ad esempio, formattare le date per ServiceNow.

Expression:

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

Input/output di esempio:

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

Sostituire un valore in base a un set di opzioni predefinito

È 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 opzione predefinita, usare il valore predefinito "Australia/Sydney".

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

Input/output di esempio:

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

Sostituire caratteri usando un'espressione regolare

È necessario trovare i caratteri che corrispondono al valore di un'espressione regolare e rimuoverli.

Expression:

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

Input/output di esempio:

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

Converte il valore userPrincipalName (UPN) generato in caratteri minuscoli

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

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, al secondo nome e al cognome dell'utente, è 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.

Expression:

    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