Sdílet prostřednictvím


Zápis výrazů pro mapování atributů v Microsoft Entra ID

Při konfiguraci cloudové synchronizace je jedním z typů mapování atributů, které můžete zadat, mapování výrazů.

Mapování výrazů umožňuje přizpůsobit atributy pomocí výrazu podobného skriptu. To vám umožní transformovat místní data na novou nebo jinou hodnotu. Můžete například zkombinovat dva atributy do jednoho atributu, protože tento jediný atribut používá jedna z vašich cloudových aplikací.

Následující dokument popisuje výrazy podobné skriptu, které se používají k transformaci dat. To je jenom část procesu. Dále budete muset použít tento výraz a umístit ho do webového požadavku na vašeho tenanta. Další informace o transformacích

Přehled syntaxe

Syntaxe výrazů pro mapování atributů je namapovaná na funkce jazyk Visual Basic for Application (VBA).

  • Celý výraz musí být definován z hlediska funkcí, které se skládají z názvu následovaného argumenty v závorkách:
    FunctionName(<<argument 1>>;<<argument N>>)

  • Mezi sebou můžete vnořit funkce. Například:
    FunctionOne(FunctionTwo(<<argument1>>))

  • Do funkcí můžete předat tři různé typy argumentů:

    1. Atributy, které musí být uzavřeny v hranatých závorkách. Příklad: [attributeName]
    2. Řetězcové konstanty, které musí být uzavřeny do dvojitých uvozovek. Příklad: "USA"
    3. Další funkce. Příklad: FunctionOne(<<argument1>>, FunctionTwo(<<argument2>>))
  • Pro řetězcové konstanty, pokud potřebujete zpětné lomítko (\ ) nebo uvozovky (" ) v řetězci, musí být uvozené se symbolem zpětného lomítka ( \ ). Příklad: "Název společnosti: "Contoso\""

Seznam funkcí

Seznam funkcí Popis
Připojit Vezme hodnotu zdrojového řetězce a připojí k ní příponu.
BitAnd Funkce BitAnd nastaví zadané bity na hodnotu.
CBool Funkce CBool vrátí logickou hodnotu na základě vyhodnoceného výrazu.
ConvertFromBase64 Funkce ConvertFromBase64 převede zadanou hodnotu s kódováním base64 na běžný řetězec.
ConvertToBase64 Funkce ConvertToBase64 převede řetězec na řetězec Unicode base64.
ConvertToUTF8Hex Funkce ConvertToUTF8Hex převede řetězec na šestnáctkovou hodnotu UTF8.
Počet Funkce Count vrátí počet prvků v atributu s více hodnotami.
Cstr Funkce CStr se převede na datový typ řetězce.
DateFromNum Funkce DateFromNum převede hodnotu ve formátu data AD na typ DateTime.
DNComponent Funkce DNComponent vrátí hodnotu zadané součásti DN, která se vrací zleva.
Chyba Funkce Error se používá k vrácení vlastní chyby.
Formatdatetime Vezme řetězec kalendářního data z jednoho formátu a převede ho do jiného formátu.
GUID Identifikátor GUID funkce vygeneruje nový náhodný identifikátor GUID.
IIF Funkce IIF vrátí jednu ze sady možných hodnot na základě zadané podmínky.
Instr Funkce InStr najde první výskyt podřetězce v řetězci.
Isnull Pokud se výraz vyhodnotí jako Null, vrátí funkce IsNull hodnotu true.
IsNullOrEmpty Pokud je výraz null nebo prázdný řetězec, vrátí funkce IsNullOrEmpty hodnotu true.
Ispresent Pokud se výraz vyhodnotí jako řetězec, který není null a není prázdný, vrátí funkce IsPresent hodnotu true.
IsString Pokud lze výraz vyhodnotit na typ řetězce, funkce IsString se vyhodnotí jako True.
Položka Funkce Item vrátí jednu položku z vícehodnotového řetězce nebo atributu.
Join (Spojení) Join() se podobá append(), s tím rozdílem, že může zkombinovat více zdrojových hodnot řetězce do jednoho řetězce a každá hodnota bude oddělena oddělovačem.
Šipka vlevo Funkce Vlevo vrátí zadaný počet znaků zleva od řetězce.
Mid Vrátí podřetědětce zdrojové hodnoty. Podřetězce je řetězec, který obsahuje pouze některé znaky ze zdrojového řetězce.
NormalizeDiacritics Vyžaduje jeden řetězcový argument. Vrátí řetězec, ale s libovolnými diacritickými znaky nahrazenými ekvivalentními nekritickými znaky.
Not Překlopí logickou hodnotu zdroje. Pokud je zdrojová hodnota True, vrátí hodnotu False. V opačném případě vrátí hodnotu True.
Removeduplicates Funkce RemoveDuplicates přebírá řetězec s více hodnotami a ujistěte se, že každá hodnota je jedinečná.
Nahradit Nahradí hodnoty v řetězci.
SelectUniqueValue Vyžaduje minimálně dva argumenty, což jsou jedinečná pravidla generování hodnot definovaná pomocí výrazů. Funkce vyhodnocuje každé pravidlo a pak zkontroluje hodnotu vygenerovanou jako jedinečnost v cílové aplikaci nebo adresáři.
SingleAppRoleAssignment Vrátí jeden appRoleAssignment ze seznamu všech appRoleAssignments přiřazených uživateli pro danou aplikaci.
Rozděleno Rozdělí řetězec na pole s více hodnotami pomocí zadaného znaku oddělovače.
StringFromSID Funkce StringFromSid převede bajtové pole obsahující identifikátor zabezpečení na řetězec.
StripSpaces Odebere ze zdrojového řetězce všechny znaky mezery (" ").
Přepínač Pokud zdrojová hodnota odpovídá klíči, vrátí hodnotu pro tento klíč.
Tolower Vezme hodnotu zdrojového řetězce a převede ji na malá písmena pomocí zadaných pravidel jazykové verze.
Toupper Vezme hodnotu zdrojového řetězce a převede ji na velká písmena pomocí zadaných pravidel jazykové verze.
Trim Funkce Trim odebere z řetězce úvodní a koncové mezery.
Slovo Funkce Word vrátí slovo obsažené v řetězci na základě parametrů popisujících oddělovače, které se mají použít, a čísla slova, které se mají vrátit.

Připojit

Funkce:
Append(zdroj, přípona)

Popis:
Vezme hodnotu zdrojového řetězce a připojí k ní příponu.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String Obvykle název atributu ze zdrojového objektu.
Přípona Požaduje se String Řetězec, který chcete připojit na konec zdrojové hodnoty.

BitAnd

Popis:
Funkce BitAnd nastaví zadané bity na hodnotu.

Syntaxe:
num BitAnd(num value1, num value2)

  • hodnota1, hodnota2: číselné hodnoty, které by měly být společně

Poznámky:
Tato funkce převede oba parametry na binární reprezentaci a nastaví bit na:

  • 0 – pokud jeden nebo oba odpovídající bity v hodnotě 1 a hodnota2 jsou 0
  • 1 – pokud jsou oba odpovídající bity 1.

Jinými slovy, vrátí hodnotu 0 ve všech případech s výjimkou případů, kdy jsou odpovídající bity obou parametrů 1.

Příklad:

BitAnd(&HF, &HF7)
Vrátí hodnotu 7, protože hexadecimální "F" AND "F7" se vyhodnotí na tuto hodnotu.


CBool

Popis:
Funkce CBool vrátí logickou hodnotu na základě vyhodnoceného výrazu.

Syntaxe:
bool CBool(exp Expression)

Poznámky:
Pokud se výraz vyhodnotí jako nenulová hodnota, vrátí funkce CBool hodnotu True, jinak vrátí hodnotu False.

Příklad:
CBool([attrib1] = [attrib2])

Vrátí hodnotu True, pokud oba atributy mají stejnou hodnotu.


ConvertFromBase64

Popis:
Funkce ConvertFromBase64 převede zadanou hodnotu s kódováním base64 na běžný řetězec.

Syntaxe:
str ConvertFromBase64(str source) – předpokládá kódování Unicode.
str ConvertFromBase64(str source, enum Encoding)

  • zdroj: Řetězec kódovaný v base64
  • Kódování: Unicode, ASCII, UTF8

Příklad
ConvertFromBase64("SABlAGwAbABvACAAdwBvAHIAbABkACEA")
ConvertFromBase64("SGVsbG8gd29ybGQh", UTF8)

Oba příklady vrací "Hello world!"


ConvertToBase64

Popis:
Funkce ConvertToBase64 převede řetězec na řetězec Unicode base64.
Převede hodnotu pole celých čísel na ekvivalentní řetězcové vyjádření, které je kódováno pomocí číslic base-64.

Syntaxe:
str ConvertToBase64(str source)

Příklad:
ConvertToBase64("Hello world!")
Vrátí "SABlAGwAbABvACAAdwBvAHIAbABkACEA"


ConvertToUTF8Hex

Popis:
Funkce ConvertToUTF8Hex převede řetězec na šestnáctkovou hodnotu UTF8.

Syntaxe:
str ConvertToUTF8Hex(str source)

Poznámky:
Výstupní formát této funkce používá Microsoft Entra ID jako formát atributu DN.

Příklad:
ConvertToUTF8Hex("Hello world!")
Vrátí hodnotu 48656C6C6F20776F726C6421.


Počet

Popis:
Funkce Count vrátí počet prvků v atributu s více hodnotami.

Syntaxe:
num Count(mvstr attribute)


Cstr

Popis:
Funkce CStr se převede na datový typ řetězce.

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

  • value: Může to být číselná hodnota, atribut odkazu nebo logická hodnota.

Příklad:
CStr([dn])
Mohl by vrátit "cn=Joe,dc=contoso,dc=com"


DateFromNum

Popis:
Funkce DateFromNum převede hodnotu ve formátu data AD na typ DateTime.

Syntaxe:
dt DateFromNum(num value)

Příklad:
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
Vrátí hodnotu DateTime představující datum 2012-01-01 23:00:00.


DNComponent

Popis:
Funkce DNComponent vrátí hodnotu zadané součásti DN, která se vrací zleva.

Syntaxe:
str DNComponent(ref dn, num ComponentNumber)

  • dn: atribut odkazu, který se má interpretovat
  • ComponentNumber: Komponenta v DN, která se má vrátit

Příklad:
DNComponent(CRef([dn]),1)
Pokud je "cn=Joe,ou=...", vrátí Joea.


Chyba

Popis:
Funkce Error se používá k vrácení vlastní chyby.

Syntaxe:
void Error(str ErrorMessage)

Příklad:
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
Pokud atribut accountName není k dispozici, vyvolá chybu objektu.


Formatdatetime

Funkce:
FormatDateTime(zdroj, inputFormat, outputFormat)

Popis:
Vezme řetězec kalendářního data z jednoho formátu a převede ho do jiného formátu.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String Obvykle název atributu ze zdrojového objektu.
inputFormat Požaduje se String Očekávaný formát zdrojové hodnoty Podporované formáty najdete v tématu /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Požaduje se String Formát výstupního data

Guid

Popis:
Identifikátor GUID funkce vygeneruje nový náhodný identifikátor GUID.

Syntaxe:
str Guid()


IIF

Popis:
Funkce IIF vrátí jednu ze sady možných hodnot na základě zadané podmínky.

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

  • podmínka: libovolná hodnota nebo výraz, které lze vyhodnotit na hodnotu true nebo false.
  • valueIfTrue: Pokud se podmínka vyhodnotí jako true, vrácená hodnota.
  • valueIfFalse: Pokud je podmínka vyhodnocena jako false, vrácená hodnota.

Příklad:
IIF([employeeType]="Intern","t-" & [alias],[alias])
Pokud je uživatel internem, vrátí alias uživatele s "t-" přidaným na začátek, jinak vrátí alias uživatele tak, jak je.


Instr

Popis:
Funkce InStr najde první výskyt podřetězce v řetězci.

Syntaxe:

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: řetězec, který se má prohledávat
  • stringmatch: řetězec, který se má najít
  • start: počáteční pozice pro vyhledání podřetězdce
  • compare: vbTextCompare nebo vbBinaryCompare

Poznámky:
Vrátí pozici, kde byl nalezen podřetězen nebo 0, pokud nebyl nalezen.

Příklad:
InStr("The quick brown fox","quick")
Evalues to 5

InStr("repEated","e",3,vbBinaryCompare)
Vyhodnotí se jako 7.


Isnull

Popis:
Pokud se výraz vyhodnotí jako Null, vrátí funkce IsNull hodnotu true.

Syntaxe:
bool IsNull(var Expression)

Poznámky:
Pro atribut je null vyjádřena absencí atributu.

Příklad:
IsNull([displayName])
Vrátí hodnotu True, pokud atribut není k dispozici v cs nebo MV.


IsNullOrEmpty

Popis:
Pokud je výraz null nebo prázdný řetězec, vrátí funkce IsNullOrEmpty hodnotu true.

Syntaxe:
bool IsNullOrEmpty(var Expression)

Poznámky:
U atributu by se tento atribut vyhodnotil jako True, pokud atribut chybí nebo je k dispozici, ale je prázdný řetězec.
Inverzní funkce má název IsPresent.

Příklad:
IsNullOrEmpty([displayName])
Vrátí hodnotu True, pokud atribut neexistuje nebo je prázdný řetězec v cs nebo MV.


Ispresent

Popis:
Pokud se výraz vyhodnotí jako řetězec, který není null a není prázdný, vrátí funkce IsPresent hodnotu true.

Syntaxe:
bool IsPresent(var expression)

Poznámky:
Inverzní funkce má název IsNullOrEmpty.

Příklad:
Switch(IsPresent([directManager]),[directManager], IsPresent([skiplevelManager]),[skiplevelManager], IsPresent([director]),[director])


Item

Popis:
Funkce Item vrátí jednu položku z vícehodnotového řetězce nebo atributu.

Syntaxe:
var Item(mvstr attribute, num index)

  • attribute: atribut s více hodnotami
  • index: index na položku v řetězci s více hodnotami.

Poznámky:
Funkce Item je užitečná společně s funkcí Contains, protože druhá funkce vrátí index k položce v atributu s více hodnotami.

Vyvolá chybu, pokud je index mimo hranice.

Příklad:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
Vrátí primární e-mailovou adresu.


IsString

Popis:
Pokud lze výraz vyhodnotit na typ řetězce, funkce IsString se vyhodnotí jako True.

Syntaxe:
bool IsString(var expression)

Poznámky:
Slouží k určení, jestli může být CStr() úspěšný k analýze výrazu.


Připojení

Funkce:
Join(oddělovač, zdroj1, zdroj2; ...)

Popis:
Join() se podobá append(), s tím rozdílem, že může zkombinovat více zdrojových hodnot řetězce do jednoho řetězce a každá hodnota bude oddělena oddělovačem.

Pokud je jednou ze zdrojových hodnot atribut s více hodnotami, všechny hodnoty v daném atributu se spojí společně a oddělí se hodnotou oddělovače.

Parametry:

Název Povinné nebo opakující se Typ Notes
Oddělovač Požaduje se String Řetězec použitý k oddělení zdrojových hodnot, když jsou zřetězeny do jednoho řetězce. Pokud není vyžadován žádný oddělovač, může být "".
zdroj1 ... sourceN Povinné, počet proměnných String Řetězcové hodnoty, které se mají spojit.

Šipka vlevo

Popis:
Funkce Vlevo vrátí zadaný počet znaků zleva od řetězce.

Syntaxe:
str Left(str string, num NumChars)

  • string: řetězec pro vrácení znaků z
  • NumChars: číslo určující počet znaků, které se mají vrátit od začátku (vlevo) řetězce

Poznámky:
Řetězec obsahující první znaky numChars v řetězci:

  • Pokud numChars = 0, vrátí prázdný řetězec.
  • Pokud numChars < 0, vrátí vstupní řetězec.
  • Pokud je řetězec null, vraťte prázdný řetězec.

Pokud řetězec obsahuje méně znaků než číslo zadané v numChars, vrátí se řetězec shodný s řetězcem (tj. obsahující všechny znaky v parametru 1).

Příklad:
Left("John Doe", 3)
Vrací objekt Joh.


Mid

Funkce:
Mid(zdroj, začátek, délka)

Popis:
Vrátí podřetědětce zdrojové hodnoty. Podřetězce je řetězec, který obsahuje pouze některé znaky ze zdrojového řetězce.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String Obvykle název atributu.
start Požaduje se integer Indexujte ve zdrojovém řetězci, kde by se měl spustit podřetězc. První znak v řetězci bude mít index 1, druhý znak bude mít index 2 atd.
length Požaduje se integer Délka podřetětěce. Pokud délka končí mimo zdrojový řetězec, vrátí funkce podřetězce od počátečního indexu do konce zdrojového řetězce.

NormalizeDiacritics

Funkce:
NormalizeDiacritics (zdroj)

Popis:
Vyžaduje jeden řetězcový argument. Vrátí řetězec, ale s libovolnými diacritickými znaky nahrazenými ekvivalentními nekritickými znaky. Obvykle se používá k převodu křestní jména a příjmení obsahující diacritické znaky (zvýrazňující značky) na právní hodnoty, které se dají použít v různých identifikátorech uživatelů, jako jsou hlavní názvy uživatelů, názvy účtů SAM a e-mailové adresy.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String Obvykle je to jméno nebo atribut příjmení.

Not

Funkce:
Not(zdroj)

Popis:
Překlopí logickou hodnotu zdroje. Pokud je zdrojová hodnota True, vrátí hodnotu False. V opačném případě vrátí hodnotu True.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se Logický řetězec Očekávané zdrojové hodnoty jsou True nebo False.

Removeduplicates

Popis:
Funkce RemoveDuplicates přebírá řetězec s více hodnotami a ujistěte se, že každá hodnota je jedinečná.

Syntaxe:
mvstr RemoveDuplicates(mvstr attribute)

Příklad:
RemoveDuplicates([proxyAddresses])
Vrátí sanitizovaný atribut proxyAddress, kde byly odebrány všechny duplicitní hodnoty.


Nahradit

Funkce:
Replace(source, oldValue, regexPattern, regexGroupName, replaceValue, replaceAttributeName, template)

Popis:
Nahradí hodnoty v řetězci. Funguje jinak v závislosti na zadaných parametrech:

  • Pokud jsou k dispozici hodnoty oldValue a replacementValue:

    • Nahradí všechny výskyty oldValue ve zdrojinahrazenímValue.
  • Pokud jsou k dispozici staré hodnoty a šablona :

    • Nahradí všechny výskyty staré Hodnoty v šabloně zdrojovou hodnotou.
  • Pokud jsou k dispozici hodnoty regexPattern a replacementValue :

    • Funkce použije regexPattern na zdrojový řetězec a pomocí názvů skupin regulárních výrazů můžete vytvořit řetězec pro replacementValue.
  • Při regexPattern, regexGroupName, replacementValue jsou k dispozici:

    • Funkce použije regexPattern na zdrojový řetězec a nahradí všechny hodnoty odpovídající regexGroupNamenahrazenímValue.
  • Při regexPattern, regexGroupName, replacementAttributeName jsou k dispozici:

    • Pokud zdroj nemá žádnou hodnotu, vrátí se zdroj.
    • Pokud zdroj obsahuje hodnotu, použije funkce regexPattern na zdrojový řetězec a nahradí všechny hodnoty odpovídající regexGroupName hodnotou přidruženou k replaceAttributeName.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String Obvykle název atributu ze zdrojového objektu.
Oldvalue Volitelné String Hodnota, která se má nahradit ve zdroji nebo šabloně
regexPattern Volitelné String Vzor regulárních výrazů pro hodnotu, která se má nahradit ve zdroji. Nebo při použití nahrazeníPropertyName vzor extrahovat hodnotu z nahrazeníPropertyName.
regexGroupName Volitelné String Název skupiny uvnitř regulárního výrazu. Pouze při použití nahrazeníPropertyName , extrahujeme hodnotu této skupiny jako replacementValue z replacementPropertyName.
replacementValue Volitelné String Nová hodnota, kterou chcete nahradit starou hodnotou.
replacementAttributeName Volitelné String Název atributu, který se má použít pro nahrazení hodnoty
šablona Volitelné String Pokud je zadaná hodnota šablony, vyhledáme v šabloně starou hodnotu a nahradíme ji zdrojovou hodnotou.

SelectUniqueValue

Funkce:
SelectUniqueValue(uniqueValueRule1, uniqueValueRule2, uniqueValueRule3; ...)

Popis:
Vyžaduje minimálně dva argumenty, což jsou jedinečná pravidla generování hodnot definovaná pomocí výrazů. Funkce vyhodnocuje každé pravidlo a pak zkontroluje hodnotu vygenerovanou jako jedinečnost v cílové aplikaci nebo adresáři. První nalezená jedinečná hodnota bude vrácená. Pokud všechny hodnoty již v cíli existují, položka se vypíše a důvod se zaprotokoluje v protokolech auditu. Neexistuje žádná horní mez počtu argumentů, které lze zadat.

Poznámka:

  • Jedná se o funkci nejvyšší úrovně, která se nedá vnořit.
  • Tuto funkci nelze použít u atributů, které mají odpovídající prioritu.
  • Tato funkce je určená pouze pro vytváření položek. Při použití s atributem nastavte vlastnost Použít mapovánípouze během vytváření objektu.
  • Tato funkce je aktuálně podporována pouze pro "Workday a SuccessFactors to Active Directory User Provisioning". Nelze ho použít s jinými aplikacemi pro zřizování.

Parametry:

Název Povinné nebo opakující se Typ Notes
uniqueValueRule1 ... uniqueValueRuleN Vyžaduje se minimálně 2, bez horní hranice. String Seznam jedinečných pravidel generování hodnot, která se mají vyhodnotit

SingleAppRoleAssignment

Funkce:
SingleAppRoleAssignment([appRoleAssignments])

Popis:
Vrátí jeden appRoleAssignment ze seznamu všech appRoleAssignments přiřazených uživateli pro danou aplikaci. Tato funkce je nutná k převodu objektu appRoleAssignments na jeden řetězec názvu role. Osvědčeným postupem je zajistit, aby byl najednou přiřazen pouze jeden objekt appRoleAssignment jednomu uživateli a pokud je vrácený řetězec role přiřazen více rolí, nemusí být předvídatelné.

Parametry:

Název Povinné nebo opakující se Typ Notes
[appRoleAssignments] Požaduje se String [appRoleAssignments] Objekt.

Rozděleno

Funkce:
Split(zdroj, oddělovač)

Popis:
Rozdělí řetězec na pole s více hodnotami pomocí zadaného znaku oddělovače.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String zdrojová hodnota, kterou chcete aktualizovat.
Oddělovač Požaduje se String Určuje znak, který se použije k rozdělení řetězce (příklad: ",").

StringFromSid

Popis:
Funkce StringFromSid převede bajtové pole obsahující identifikátor zabezpečení na řetězec.

Syntaxe:
str StringFromSid(bin ObjectSID)


StripSpaces

Funkce:
StripSpaces(zdroj)

Popis:
Odebere ze zdrojového řetězce všechny znaky mezery (" ").

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String zdrojová hodnota, kterou chcete aktualizovat.

Přepínač

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

Popis:
Pokud zdrojová hodnota odpovídá klíči, vrátí hodnotu pro tento klíč. Pokud zdrojová hodnota neodpovídá žádným klíčům, vrátí hodnotu defaultValue. Parametry klíče a hodnoty musí být vždy ve dvojicích. Funkce vždy očekává sudý počet parametrů.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String Zdrojová hodnota, kterou chcete zkontrolovat.
Defaultvalue Volitelné String Výchozí hodnota, která se má použít, když zdroj neodpovídá žádným klíčům. Může být prázdný řetězec ("").
key Požaduje se String Klíč pro porovnání zdrojové hodnoty s.
value Požaduje se String Hodnota nahrazení zdroje, který odpovídá klíči.

ToLower

Funkce:
ToLower(zdroj, jazyková verze)

Popis:
Vezme hodnotu zdrojového řetězce a převede ji na malá písmena pomocí zadaných pravidel jazykové verze. Pokud nejsou zadané žádné informace o jazykové verzi, použije se invariantní jazyková verze.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String Obvykle název atributu ze zdrojového objektu
Kultury Volitelné String Formát názvu jazykové verze založené na dokumentu RFC 4646 je kód languagecode2-country/regioncode2, kde kód jazyka2 je dvoumísmenný kód jazyka a kód země/oblasti2 je dvoumísmenný subculture kód. Mezi příklady patří ja-JP pro japonštinu (Japonsko) a en-US pro angličtinu (USA). V případech, kdy není k dispozici dvoumísmenný kód jazyka, se použije třímísmenný kód odvozený od ISO 639-2.

ToUpper

Funkce:
ToUpper(zdroj, jazyková verze)

Popis:
Vezme hodnotu zdrojového řetězce a převede ji na velká písmena pomocí zadaných pravidel jazykové verze. Pokud nejsou zadané žádné informace o jazykové verzi, použije se invariantní jazyková verze.

Parametry:

Název Povinné nebo opakující se Typ Notes
source Požaduje se String Obvykle název atributu ze zdrojového objektu.
Kultury Volitelné String Formát názvu jazykové verze založené na dokumentu RFC 4646 je kód languagecode2-country/regioncode2, kde kód jazyka2 je dvoumísmenný kód jazyka a kód země/oblasti2 je dvoumísmenný subculture kód. Mezi příklady patří ja-JP pro japonštinu (Japonsko) a en-US pro angličtinu (USA). V případech, kdy není k dispozici dvoumísmenný kód jazyka, se použije třímísmenný kód odvozený od ISO 639-2.

Trim

Popis:
Funkce Trim odebere z řetězce úvodní a koncové mezery.

Syntaxe:
str Trim(str value)

Příklad:
Trim(" Test ")
Vrátí "test".

Trim([proxyAddresses])
Odebere úvodní a koncové mezery pro každou hodnotu v atributu proxyAddress.


Word

Popis:
Funkce Word vrátí slovo obsažené v řetězci na základě parametrů popisujících oddělovače, které se mají použít, a čísla slova, které se mají vrátit.

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

  • řetězec: řetězec, ze které má být vráceno slovo.
  • WordNumber: číslo určující, které číslo slova se má vrátit.
  • oddělovače: řetězec představující oddělovače, které by se měly použít k identifikaci slov

Poznámky:
Každý řetězec znaků v řetězci oddělený jedním z znaků v oddělovači se identifikuje jako slova:

  • Pokud je číslo < 1, vrátí prázdný řetězec.
  • Pokud je řetězec null, vrátí prázdný řetězec.

Pokud řetězec obsahuje méně než číselná slova nebo řetězec neobsahuje žádná slova identifikovaná oddělovači, vrátí se prázdný řetězec.

Příklad:
Word("The quick brown fox",3," ")
Vrátí hodnotu "hnědá"

Word("This,string!has&many separators",3,",!&#")
Vrátilo by se "has" (má).

Příklady

Odebrání známého názvu domény

Pokud chcete získat uživatelské jméno, musíte ze e-mailu uživatele odstranit známý název domény.
Pokud je například doména "contoso.com", můžete použít následující výraz:

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

Ukázkový vstup /výstup:

  • INPUT (pošta): "john.doe@contoso.com"
  • VÝSTUP: "john.doe"

Připojení přípony konstanty k uživatelskému jménu

Pokud používáte sandbox Salesforce, možná budete muset před synchronizací přidat další příponu ke všem uživatelským jménům.

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

Ukázkový vstup/výstup:

  • INPUT: (userPrincipalName): "John.Doe@contoso.com"
  • VÝSTUP: "John.Doe@contoso.com.test"

Generování uživatelského aliasu zřetězením částí křestního jména a příjmení

Alias uživatele musíte vygenerovat tak, že vezmete prvních 3 písmena křestního jména uživatele a prvních 5 písmen příjmení uživatele.

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

Ukázkový vstup/výstup:

  • INPUT (givenName): "John"
  • INPUT (příjmení): "Doe"
  • VÝSTUP: "JohDoe"

Odebrání diakritiky z řetězce

Znaky obsahující zvýrazňující znaky je nutné nahradit ekvivalentními znaky, které neobsahují značky zvýraznění.

Expression:
NormalizeDiacritics([givenName])

Ukázkový vstup/výstup:

  • INPUT (givenName): "Zoë"
  • VÝSTUP: "Zoe"

Rozdělení řetězce na pole s více hodnotami

Potřebujete vzít čárkami oddělený seznam řetězců a rozdělit je do pole, které je možné připojit k atributu s více hodnotami, jako je atribut PermissionSets salesforce. V tomto příkladu byl seznam sad oprávnění vyplněn v extensionAttribute5 v Microsoft Entra ID.

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

Ukázkový vstup/výstup:

  • INPUT (extensionAttribute5): "PermissionSetOne, PermissionSetTwo"
  • VÝSTUP: ["PermissionSetOne", "PermissionSetTwo"]

Výstupní datum jako řetězec v určitém formátu

Data chcete odeslat do aplikace SaaS v určitém formátu.
Například chcete formátovat data pro ServiceNow.

Expression:

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

Ukázkový vstup/výstup:

  • INPUT (extensionAttribute1): "20150123105347.1Z"
  • VÝSTUP: "2015-01-23"

Nahrazení hodnoty na základě předdefinované sady možností

Musíte definovat časové pásmo uživatele na základě stavového kódu uloženého v Microsoft Entra ID.
Pokud kód státu neodpovídá žádné z předdefinovaných možností, použijte výchozí hodnotu Austrálie/Sydney.

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

Ukázkový vstup/výstup:

  • INPUT (state): "QLD"
  • VÝSTUP: "Austrálie/Brisbane"

Nahrazení znaků pomocí regulárního výrazu

Potřebujete najít znaky, které odpovídají hodnotě regulárního výrazu, a odebrat je.

Expression:

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

Ukázkový vstup/výstup:

  • INPUT (mailNickname: "john_doe72"
  • VÝSTUP: "72"

Převedení vygenerované hodnoty userPrincipalName (UPN) na malá písmena

V následujícím příkladu se hodnota hlavního názvu uživatele generuje zřetězením zdrojových polí PreferredFirstName a PreferredLastName a funkce ToLower pracuje s vygenerovaným řetězcem a převede všechny znaky na malá písmena.

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

Ukázkový vstup/výstup:

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

Generování jedinečné hodnoty pro atribut userPrincipalName (UPN)

Na základě křestních jmen uživatele, prostředního jména a příjmení musíte vygenerovat hodnotu atributu UPN a před přiřazením hodnoty k atributu UPN zkontrolovat jeho jedinečnost v cílovém adresáři AD.

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")
    )

Ukázkový vstup/výstup:

  • INPUT (PreferredFirstName): "John"
  • INPUT (PreferredLastName): "Smith"
  • VÝSTUP: "John.Smith@contoso.com" pokud hodnota hlavního John.Smith@contoso.com názvu uživatele (UPN) v adresáři ještě neexistuje
  • VÝSTUP: "J.Smith@contoso.com" pokud hodnota hlavního názvu uživatele (UPN) John.Smith@contoso.com již v adresáři existuje.
  • VÝSTUP: "Jo.Smith@contoso.com" pokud výše uvedené dvě hodnoty hlavního názvu uživatele (UPN) již v adresáři existují.

Další kroky