Udostępnij przez


Pisanie wyrażeń dla mapowań atrybutów w identyfikatorze Entra firmy Microsoft

Podczas konfigurowania synchronizacji w chmurze jednym z typów mapowań atrybutów, które można określić, jest mapowanie wyrażeń.

Mapowanie wyrażeń umożliwia dostosowanie atrybutów przy użyciu wyrażenia przypominającego skrypt. Dzięki temu można przekształcić dane lokalne w nową lub inną wartość. Na przykład możesz połączyć dwa atrybuty w jeden atrybut, ponieważ ten pojedynczy atrybut jest używany przez jedną z aplikacji w chmurze.

Poniższy dokument zawiera wyrażenia podobne do skryptów, które są używane do przekształcania danych. Jest to tylko część procesu. Następnie należy użyć tego wyrażenia i umieścić je w żądaniu internetowym do dzierżawy. Aby uzyskać więcej informacji na ten temat, zobacz Transformations

Omówienie składni

Składnia wyrażeń mapowań atrybutów przypomina funkcje Języka Visual Basic for Applications (VBA).

  • Całe wyrażenie musi być zdefiniowane w kategoriach funkcji, które składają się z nazwy, po której następują argumenty w nawiasach:
    FunctionName(<<argument 1>>,<<argument N>>)

  • Funkcje można zagnieżdżać w sobie. Na przykład:
    FunctionOne(FunctionTwo(<<argument1>>))

  • Do funkcji można przekazać trzy różne typy argumentów:

    1. Atrybuty, które muszą być ujęte w nawiasy kwadratowe. Na przykład: [attributeName]
    2. Stałe ciągów, które muszą być ujęte w cudzysłowy. Na przykład: "Stany Zjednoczone"
    3. Inne funkcje. Na przykład: FunctionOne(<<argument1>>, FunctionTwo(<<argument2>>))
  • W przypadku stałych ciągów, jeśli potrzebujesz ukośnika odwrotnego ( \ ) lub cudzysłowu ( " ) w ciągu, musi on zostać usunięty z symbolem ukośnika odwrotnego ( \ ). Na przykład: "Nazwa firmy: \"Contoso\""

Lista funkcji

Lista funkcji Opis
dołączania Pobiera wartość ciągu źródłowego i dołącza sufiks na końcu.
BitAnd Funkcja BitAnd ustawia określone bity na wartości.
CBool Funkcja CBool zwraca wartość logiczną na podstawie obliczonego wyrażenia
KonwertujFromBase64 Funkcja ConvertFromBase64 konwertuje określoną wartość zakodowaną w formacie base64 na zwykły ciąg.
ConvertToBase64 Funkcja ConvertToBase64 konwertuje ciąg na ciąg Base64 Unicode.
ConvertToUTF8Hex Funkcja ConvertToUTF8Hex konwertuje ciąg na wartość zakodowaną algorytmem szesnastkowym UTF8.
liczba Funkcja Count zwraca liczbę elementów w atrybucie wielowartościowym
Cstr Funkcja CStr konwertuje na typ danych ciągu.
DateFromNum Funkcja DateFromNum konwertuje wartość w formacie daty usługi AD na typ DateTime.
DnComponent Funkcja DNComponent zwraca wartość określonego składnika DN przechodzącego od lewej.
błędów Funkcja Error służy do zwracania niestandardowego błędu.
FormatDateTime Pobiera ciąg daty z jednego formatu i konwertuje go na inny format.
identyfikator GUID Identyfikator GUID funkcji generuje nowy losowy identyfikator GUID.
IIF Funkcja IIF zwraca jeden z zestawów możliwych wartości na podstawie określonego warunku.
Instr Funkcja InStr znajduje pierwsze wystąpienie podciągów w ciągu.
IsNull Jeśli wyrażenie zwróci wartość Null, funkcja IsNull zwraca wartość true.
IsNullOrEmpty Jeśli wyrażenie ma wartość null lub pusty ciąg, funkcja IsNullOrEmpty zwraca wartość true.
IsPresent Jeśli wyrażenie oblicza ciąg, który nie ma wartości Null i nie jest pusty, funkcja IsPresent zwraca wartość true.
IsString Jeśli wyrażenie można ocenić na typ ciągu, funkcja IsString zwraca wartość True.
element Funkcja Item zwraca jeden element z wielowartego ciągu/atrybutu.
Dołączyć Funkcja Join() jest podobna do Append(), z tą różnicą, że może łączyć wiele wartości źródłowych ciągów w jeden ciąg, a każda wartość zostanie oddzielona separatorem ciągiem.
z lewej Funkcja Left zwraca określoną liczbę znaków z lewej strony ciągu.
w połowie Zwraca podciąg wartości źródłowej. Podciąg to ciąg zawierający tylko niektóre znaki z ciągu źródłowego.
NormalizeDiacritics Wymaga jednego argumentu ciągu. Zwraca ciąg, ale z dowolnymi znakami diakrytycznymi zastąpionymi równoważnymi znakami niekrytycznymi.
nie Przerzuca wartość logiczną źródła . Jeśli wartość źródła to "true", zwraca wartość "False". W przeciwnym razie zwraca wartość "true".
RemoveDuplicates Funkcja RemoveDuplicates przyjmuje ciąg wielowartościowy i upewnij się, że każda wartość jest unikatowa.
Zamień Zamienia wartości w ciągu.
Wybierz pozycjęUniqueValue Wymaga co najmniej dwóch argumentów, które są unikatowymi regułami generowania wartości zdefiniowanymi przy użyciu wyrażeń. Funkcja ocenia każdą regułę, a następnie sprawdza wartość wygenerowaną pod kątem unikatowości w docelowej aplikacji/katalogu.
SingleAppRoleAssignment Zwraca pojedynczy element appRoleAssignment z listy wszystkich elementów appRoleAssignments przypisanych do użytkownika dla danej aplikacji.
split Dzieli ciąg na tablicę wielowartościową przy użyciu określonego znaku ogranicznika.
StringFromSID Funkcja StringFromSid konwertuje tablicę bajtów zawierającą identyfikator zabezpieczeń na ciąg.
StripSpaces Usuwa wszystkie znaki spacji (" ") z ciągu źródłowego.
przełącznika Gdy wartość źródłowej jest zgodna z klucza, zwraca wartość dla tego klucza .
ToLower Pobiera wartość ciągu źródła i konwertuje ją na małe litery przy użyciu określonych reguł kultury.
ToUpper Pobiera wartość ciągu i konwertuje ją na wielkie litery przy użyciu określonych reguł kultury.
trim Funkcja Trim usuwa wiodące i końcowe białe spacje z ciągu.
word Funkcja programu Word zwraca wyraz zawarty w ciągu na podstawie parametrów opisujących ograniczniki do użycia i liczbę wyrazów do zwrócenia.

Dołączyć

funkcja :
Append(źródło, sufiks)

opis :
Pobiera wartość ciągu źródłowego i dołącza sufiks na końcu.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna Zazwyczaj nazwa atrybutu z obiektu źródłowego.
sufiks Wymagane Struna Ciąg, który chcesz dołączyć na końcu wartości źródłowej.

BitAnd

opis :
Funkcja BitAnd ustawia określone bity na wartości.

składnia :
num BitAnd(num value1, num value2)

  • value1, value2: wartości liczbowe, które powinny mieć wartość AND'ed razem

uwagi :
Ta funkcja konwertuje oba parametry na reprezentację binarną i ustawia bit na:

  • 0 — jeśli jeden lub oba odpowiadające bity w wartości 1 i wartość2 są równe 0
  • 1 — jeśli oba odpowiednie bity mają wartość 1.

Innymi słowy, zwraca wartość 0 we wszystkich przypadkach, z wyjątkiem sytuacji, gdy odpowiadające im bity obu parametrów to 1.

przykład :

BitAnd(&HF, &HF7)
Zwraca wartość 7, ponieważ wartość szesnastkowa "F" i "F7".


CBool

opis :
Funkcja CBool zwraca wartość logiczną na podstawie obliczonego wyrażenia

składnia :
bool CBool(exp Expression)

uwagi :
Jeśli wyrażenie zwróci wartość inną niż zero, funkcja CBool zwraca wartość True, a następnie zwraca wartość False.

przykład :
CBool([attrib1] = [attrib2])

Zwraca wartość True, jeśli oba atrybuty mają tę samą wartość.


KonwertujFromBase64

opis :
Funkcja ConvertFromBase64 konwertuje określoną wartość zakodowaną w formacie base64 na zwykły ciąg.

składnia :
str ConvertFromBase64(str source) — zakłada kodowanie Unicode
str ConvertFromBase64(str source, enum Encoding)

  • źródło: Ciąg zakodowany w formacie Base64
  • Kodowanie: Unicode, ASCII, UTF8

Przykład
ConvertFromBase64("SABlAGwAbABvACAAdwBvAHIAbABkACEA")
ConvertFromBase64("SGVsbG8gd29ybGQh", UTF8)

Oba przykłady zwracają wartość "Hello world!"


ConvertToBase64

opis :
Funkcja ConvertToBase64 konwertuje ciąg na ciąg Base64 Unicode.
Konwertuje wartość tablicy liczb całkowitych na równoważną reprezentację ciągu zakodowaną przy użyciu cyfr base-64.

składnia :
str ConvertToBase64(str source)

przykład :
ConvertToBase64("Hello world!")
Zwraca wartość "SABlAGwAbABvACAAdwBvAHIAbABkACEA"


ConvertToUTF8Hex

opis :
Funkcja ConvertToUTF8Hex konwertuje ciąg na wartość zakodowaną algorytmem szesnastkowym UTF8.

składnia :
str ConvertToUTF8Hex(str source)

uwagi :
Format wyjściowy tej funkcji jest używany przez firmę Microsoft Entra ID jako format atrybutu DN.

przykład :
ConvertToUTF8Hex("Hello world!")
Zwraca wartość 48656C6C6F20776F726C6421


Hrabia

opis :
Funkcja Count zwraca liczbę elementów w atrybucie wielowartościowym

składnia :
num Count(mvstr attribute)


CStr

opis :
Funkcja CStr konwertuje na typ danych ciągu.

składnia :
str CStr(num value)
str CStr(ref value)
str CStr(bool value)

  • wartość: może być wartością liczbową, atrybutem odwołania lub wartością logiczną.

przykład :
CStr([dn])
Może zwrócić wartość "cn=Joe,dc=contoso,dc=com"


DateFromNum

opis :
Funkcja DateFromNum konwertuje wartość w formacie daty usługi AD na typ DateTime.

składnia :
dt DateFromNum(num value)

przykład :
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
Zwraca wartość typu DateTime reprezentującą 2012-01-01 23:00:00


DnComponent

opis :
Funkcja DNComponent zwraca wartość określonego składnika DN przechodzącego od lewej.

składnia :
str DNComponent(ref dn, num ComponentNumber)

  • dn: atrybut odwołania do interpretacji
  • ComponentNumber: składnik w dn, aby zwrócić

przykład :
DNComponent(CRef([dn]),1)
Jeśli dn ma wartość "cn=Joe,ou=...", zwraca wartość Joe


Błąd

opis :
Funkcja Error służy do zwracania niestandardowego błędu.

składnia :
void Error(str ErrorMessage)

przykład :
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
Jeśli atrybut accountName nie jest obecny, wyrzuć błąd na obiekcie.


SformatujDatęCzas

funkcja :
FormatDateTime(source, inputFormat, outputFormat)

opis :
Pobiera ciąg daty z jednego formatu i konwertuje go na inny format.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna Zazwyczaj nazwa atrybutu z obiektu źródłowego.
inputFormat Wymagane Struna Oczekiwany format wartości źródłowej. Aby uzyskać obsługiwane formaty, zobacz /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Wymagane Struna Format daty wyjściowej.

Przewodnik

opis :
Identyfikator GUID funkcji generuje nowy losowy identyfikator GUID

składnia :
str Guid()


IIF

opis :
Funkcja IIF zwraca jeden z zestawów możliwych wartości na podstawie określonego warunku.

składnia :
var IIF(exp condition, var valueIfTrue, var valueIfFalse)

  • warunek: dowolna wartość lub wyrażenie, które można ocenić na wartość true lub false.
  • valueIfTrue: jeśli warunek ma wartość true, zwracana wartość.
  • valueIfFalse: jeśli warunek ma wartość false, zwracana wartość.

przykład :
IIF([employeeType]="Intern","t-" & [alias],[alias])
Jeśli użytkownik jest stażystkownikiem, zwraca alias użytkownika z ciągiem "t-" dodanym na początku, inne zwraca alias użytkownika w taki sposób, jak to jest.


Instr

opis :
Funkcja InStr znajduje pierwsze wystąpienie podciągów w ciągu

składnia :

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: ciąg do przeszukania
  • stringmatch: ciąg do znalezienia
  • start: pozycja początkowa, aby znaleźć podciąg
  • compare: vbTextCompare lub vbBinaryCompare

uwagi :
Zwraca pozycję, w której znaleziono podciąg lub 0, jeśli nie zostanie znaleziony.

przykład :
InStr("The quick brown fox","quick")
Ocenia wartość 5

InStr("repEated","e",3,vbBinaryCompare)
Ocenia wartość 7


JestNull

opis :
Jeśli wyrażenie zwróci wartość Null, funkcja IsNull zwraca wartość true.

składnia :
bool IsNull(var Expression)

uwagi :
W przypadku atrybutu wartość Null jest wyrażona przez brak atrybutu.

przykład :
IsNull([displayName])
Zwraca wartość True, jeśli atrybut nie jest obecny w cs lub MV.


IsNullOrEmpty

opis :
Jeśli wyrażenie ma wartość null lub pusty ciąg, funkcja IsNullOrEmpty zwraca wartość true.

składnia :
bool IsNullOrEmpty(var Expression)

uwagi :
W przypadku atrybutu ta wartość ma wartość True, jeśli atrybut jest nieobecny lub jest obecny, ale jest pustym ciągiem.
Odwrotność tej funkcji nosi nazwę IsPresent.

przykład :
IsNullOrEmpty([displayName])
Zwraca wartość True, jeśli atrybut nie jest obecny lub jest pustym ciągiem w cs lub MV.


IsPresent

opis :
Jeśli wyrażenie oblicza ciąg, który nie ma wartości Null i nie jest pusty, funkcja IsPresent zwraca wartość true.

składnia :
bool IsPresent(var expression)

uwagi :
Odwrotność tej funkcji nosi nazwę IsNullOrEmpty.

przykład :
Switch(IsPresent([directManager]),[directManager], IsPresent([skiplevelManager]),[skiplevelManager], IsPresent([director]),[director])


Przedmiot

opis :
Funkcja Item zwraca jeden element z wielowartego ciągu/atrybutu.

składnia :
var Item(mvstr attribute, num index)

  • atrybut: atrybut wielowarty
  • index: indeks do elementu w ciągu wielowartym.

uwagi :
Funkcja Item jest przydatna wraz z funkcją Contains, ponieważ ta ostatnia funkcja zwraca indeks do elementu w atrybucie wielowartym.

Zgłasza błąd, jeśli indeks jest poza granicami.

przykład :
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
Zwraca podstawowy adres e-mail.


IsString

opis :
Jeśli wyrażenie można ocenić na typ ciągu, funkcja IsString zwraca wartość True.

składnia :
bool IsString(var expression)

uwagi :
Służy do określania, czy wyrażenie CStr() może zakończyć się powodzeniem.


Dołączyć

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

opis :
Funkcja Join() jest podobna do Append(), z tą różnicą, że może łączyć wiele wartości źródłowych ciągów w jeden ciąg, a każda wartość zostanie oddzielona separatorem ciągiem.

Jeśli jedna z wartości źródłowych jest atrybutem wielowartościowym, każda wartość w tym atrybucie zostanie połączona, oddzielona wartością separatora.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
separatora Wymagane Struna Ciąg używany do oddzielania wartości źródłowych, gdy są one łączone w jeden ciąg. Może być "", jeśli separator nie jest wymagany.
źródło1 ... sourceN Wymagana, zmienna liczba razy Struna Wartości ciągów, które mają być połączone ze sobą.

Lewy

opis :
Funkcja Left zwraca określoną liczbę znaków z lewej strony ciągu.

składnia :
str Left(str string, num NumChars)

  • string: ciąg, z których mają być zwracane znaki
  • NumChars: liczba identyfikująca liczbę znaków, które mają być zwracane od początku (po lewej) ciągu

uwagi :
Ciąg zawierający pierwsze znaki numChars w ciągu:

  • Jeśli argument numChars = 0, zwraca pusty ciąg.
  • Jeśli argument numChars < 0, zwraca ciąg wejściowy.
  • Jeśli ciąg ma wartość null, zwróć pusty ciąg.

Jeśli ciąg zawiera mniej znaków niż liczba określona w numChars, zwracany jest ciąg identyczny z ciągiem (czyli zawierającym wszystkie znaki w parametrze 1).

przykład :
Left("John Doe", 3)
Zwraca wartość Joh.


Średni

funkcja :
Mid(źródło, początek, długość)

opis :
Zwraca podciąg wartości źródłowej. Podciąg to ciąg zawierający tylko niektóre znaki z ciągu źródłowego.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna Zazwyczaj nazwa atrybutu.
Wymagane liczba całkowita Indeks w ciągu źródłowym , w którym powinno zostać uruchomione podciąg. Pierwszy znak w ciągu będzie miał indeks 1, drugi znak będzie miał indeks 2 itd.
długości Wymagane liczba całkowita Długość podciągów. Jeśli długość kończy się poza ciągiem źródłowym, funkcja zwróci podciąg z rozpoczęcie indeksu do końca ciągu źródłowego.

NormalizeDiacritics

funkcja :
NormalizeDiacritics (źródło)

opis :
Wymaga jednego argumentu ciągu. Zwraca ciąg, ale z dowolnymi znakami diakrytycznymi zastąpionymi równoważnymi znakami niekrytycznymi. Zazwyczaj służy do konwertowania nazwisk i nazwisk zawierających znaki diakrytyczne (znaki wyróżniające) na wartości prawne, które mogą być używane w różnych identyfikatorach użytkowników, takich jak nazwy główne użytkowników, nazwy kont SAM i adresy e-mail.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna Zazwyczaj imię lub nazwisko atrybutu.

Nie

funkcja :
Not(source)

opis :
Przerzuca wartość logiczną źródła . Jeśli wartość źródła to "true", zwraca wartość "False". W przeciwnym razie zwraca wartość "true".

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Ciąg logiczny Oczekiwane wartości źródłowe to "True" lub "False".

RemoveDuplicates

opis :
Funkcja RemoveDuplicates przyjmuje ciąg wielowartościowy i upewnij się, że każda wartość jest unikatowa.

składnia :
mvstr RemoveDuplicates(mvstr attribute)

przykład :
RemoveDuplicates([proxyAddresses])
Zwraca atrybut sanitized proxyAddress, w którym wszystkie zduplikowane wartości zostały usunięte.


Zastąpić

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

opis :
Zamienia wartości w ciągu. Działa inaczej w zależności od podanych parametrów:

  • Gdy są udostępniane oldValue i replacementValue:

    • Zastępuje wszystkie wystąpienia oldValue w źródłowymreplaceValue
  • Gdy oldValue i szablon są dostępne:

    • Zamienia wszystkie wystąpienia oldValue w szablonie wartością źródłową
  • Gdy regexPattern i wartościami zastępczymi są dostępne:

    • Funkcja stosuje regexPattern do ciągu źródłowego i można użyć nazw grup wyrażeń regularnych, aby skonstruować ciąg replacementValue
  • Gdy regexPattern, regexGroupNamesą udostępniane replacementValue:

    • Funkcja stosuje regexPattern do ciągu źródłowego i zastępuje wszystkie wartości pasujące regexGroupNamereplaceValue
  • Gdy regexPattern, regexGroupName, zastępczyAttributeName są dostępne:

    • Jeśli źródłowy nie ma wartości, zwracana jest źródłowa
    • Jeśli źródłowy ma wartość, funkcja stosuje regexPattern do ciągu źródłowego i zastępuje wszystkie wartości pasujące regexGroupName wartością skojarzona z replaceAttributeName

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna Zazwyczaj nazwa atrybutu z obiektu źródłowego.
oldValue Fakultatywny Struna Wartość do zastąpienia w źródłowych lub szablonie .
regexPattern Fakultatywny Struna Wzorzec wyrażeń regularnych dla wartości do zastąpienia w źródłowym. Lub gdy jest używana replacementPropertyName, wzorzec wyodrębnia wartość z replacementPropertyName.
regexGroupName Fakultatywny Struna Nazwa grupy wewnątrz regexPattern. Tylko wtedy, gdy jest używana replacementPropertyName, wyodrębnimy wartość tej grupy jako replacementValue z replacementPropertyName.
replacementValue Fakultatywny Struna Nowa wartość, która ma zastąpić stary element.
replacementAttributeName Fakultatywny Struna Nazwa atrybutu, który ma być używany dla wartości zastępczej
szablonu Fakultatywny Struna Gdy zostanie podana wartość szablonu, wyszukamy oldValue wewnątrz szablonu i zastąpimy ją wartością źródła.

Wybierz pozycjęUniqueValue

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

opis :
Wymaga co najmniej dwóch argumentów, które są unikatowymi regułami generowania wartości zdefiniowanymi przy użyciu wyrażeń. Funkcja ocenia każdą regułę, a następnie sprawdza wartość wygenerowaną pod kątem unikatowości w docelowej aplikacji/katalogu. Pierwsza znaleziona unikatowa wartość będzie zwracana. Jeśli wszystkie wartości już istnieją w obiekcie docelowym, wpis zostanie przekazany, a przyczyna zostanie zarejestrowana w dziennikach inspekcji. Nie ma górnej granicy z liczbą argumentów, które można podać.

Nuta

  • Jest to funkcja najwyższego poziomu, której nie można zagnieżdżać.
  • Tej funkcji nie można zastosować do atrybutów, które mają pasujący pierwszeństwo.
  • Ta funkcja jest przeznaczona tylko do tworzenia pozycji. W przypadku używania go z atrybutem ustaw właściwość zastosuj mapowanie, aby tylko podczas tworzenia obiektu.
  • Ta funkcja jest obecnie obsługiwana tylko w przypadku "Workday i SuccessFactors do aprowizacji użytkowników usługi Active Directory". Nie można jej używać z innymi aplikacjami aprowizacji.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
uniqueValueRule1 ... uniqueValueRuleN Co najmniej 2 są wymagane, bez górnej granicy Struna Lista reguł generowania unikatowych wartości do oceny.

SingleAppRoleAssignment

funkcja :
SingleAppRoleAssignment([appRoleAssignments])

opis :
Zwraca pojedynczy element appRoleAssignment z listy wszystkich elementów appRoleAssignments przypisanych do użytkownika dla danej aplikacji. Ta funkcja jest wymagana do przekonwertowania obiektu appRoleAssignments na pojedynczy ciąg nazwy roli. Należy pamiętać, że najlepszym rozwiązaniem jest zapewnienie, że tylko jeden element appRoleAssignment jest przypisany do jednego użytkownika jednocześnie, a jeśli do zwracanego ciągu roli przypisano wiele ról, może nie być przewidywalne.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
[appRoleAssignments] Wymagane Struna [appRoleAssignments] obiekt.

Rozszczepiać

funkcja :
Split(source, ogranicznik)

opis :
Dzieli ciąg na tablicę wielowartościową przy użyciu określonego znaku ogranicznika.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna wartość źródłowa do zaktualizowania.
ogranicznika Wymagane Struna Określa znak, który będzie używany do dzielenia ciągu (na przykład: ",")

StringFromSid

opis :
Funkcja StringFromSid konwertuje tablicę bajtów zawierającą identyfikator zabezpieczeń na ciąg.

składnia :
str StringFromSid(bin ObjectSID)


Przestrzenie paskowe

funkcja :
StripSpaces(źródło)

opis :
Usuwa wszystkie znaki spacji (" ") z ciągu źródłowego.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna wartość źródłowa do zaktualizowania.

Przełącznik

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

opis :
Gdy wartość źródłowej jest zgodna z klucza, zwraca wartość dla tego klucza . Jeśli wartość źródłowej nie jest zgodna z żadnymi kluczami, zwraca wartość defaultValue. klucz i wartość parametrów muszą zawsze znajdować się w parach. Funkcja zawsze oczekuje parzystej liczby parametrów.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna wartość źródłowa do sprawdzenia.
defaultValue Fakultatywny Struna Wartość domyślna, która ma być używana, gdy źródło nie jest zgodne z żadnymi kluczami. Może być pusty ciąg ("").
klucza Wymagane Struna Klucz, aby porównać wartość źródła z.
wartości Wymagane Struna Wartość zastępcza źródła pasującą do klucza.

ToLower

funkcja :
ToLower(źródło, kultura)

opis :
Pobiera wartość ciągu źródła i konwertuje ją na małe litery przy użyciu określonych reguł kultury. Jeśli nie określono informacji o kulturze , będzie ona używać niezmiennej kultury.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna Zazwyczaj nazwa atrybutu z obiektu źródłowego
kultury Fakultatywny Struna Format nazwy kultury opartej na specyfikacji RFC 4646 to languagecode2-country/regioncode2, gdzie languagecode2 to dwuliterowy kod języka, a kraj/regioncode2 to dwuliterowy kod subkultury. Przykłady obejmują ja-JP dla języka japońskiego (Japonia) i en-US dla języka angielskiego (Stany Zjednoczone). W przypadkach, gdy kod języka dwuliterowego jest niedostępny, jest używany trzyliterowy kod pochodzący z iso 639-2.

Funkcja ToUpper

funkcja :
ToUpper(źródło, kultura)

opis :
Pobiera wartość ciągu i konwertuje ją na wielkie litery przy użyciu określonych reguł kultury. Jeśli nie określono informacji o kulturze , będzie ona używać niezmiennej kultury.

parametry :

Nazwa Wymagane/powtarzane Typ Notatki
źródłowej Wymagane Struna Zazwyczaj nazwa atrybutu z obiektu źródłowego.
kultury Fakultatywny Struna Format nazwy kultury opartej na specyfikacji RFC 4646 to languagecode2-country/regioncode2, gdzie languagecode2 to dwuliterowy kod języka, a kraj/regioncode2 to dwuliterowy kod subkultury. Przykłady obejmują ja-JP dla języka japońskiego (Japonia) i en-US dla języka angielskiego (Stany Zjednoczone). W przypadkach, gdy kod języka dwuliterowego jest niedostępny, jest używany trzyliterowy kod pochodzący z iso 639-2.

Przycinać

opis :
Funkcja Trim usuwa wiodące i końcowe białe spacje z ciągu.

składnia :
str Trim(str value)

przykład :
Trim(" Test ")
Zwraca wartość "Test".

Trim([proxyAddresses])
Usuwa spacje wiodące i końcowe dla każdej wartości w atrybucie proxyAddress.


Słowo

opis :
Funkcja programu Word zwraca wyraz zawarty w ciągu na podstawie parametrów opisujących ograniczniki do użycia i liczbę wyrazów do zwrócenia.

składnia :
str Word(str string, num WordNumber, str delimiters)

  • string: ciąg, z który ma zwrócić słowo.
  • WordNumber: liczba identyfikująca, która liczba wyrazów powinna zwracać.
  • ograniczniki: ciąg reprezentujący ograniczniki, które powinny być używane do identyfikowania wyrazów

uwagi :
Każdy ciąg znaków w ciągu rozdzielanym jedną z znaków ograniczników jest identyfikowany jako wyrazy:

  • Jeśli liczba < 1, zwraca pusty ciąg.
  • Jeśli ciąg ma wartość null, zwraca pusty ciąg.

Jeśli ciąg zawiera wyrazy mniejsze niż liczba lub ciąg nie zawiera żadnych wyrazów zidentyfikowanych przez ograniczniki, zwracany jest pusty ciąg.

przykład :
Word("The quick brown fox",3," ")
Zwraca wartość "brown"

Word("This,string!has&many separators",3,",!&#")
Zwraca wartość "has"

Przykłady

Usuwanie znanej nazwy domeny

Aby uzyskać nazwę użytkownika, musisz usunąć znaną nazwę domeny z adresu e-mail użytkownika.
Jeśli na przykład domena ma wartość "contoso.com", możesz użyć następującego wyrażenia:

Wyrażenie :
Replace([mail], "@contoso.com", , ,"", ,)

Przykładowe dane wejściowe/wyjściowe:

  • INPUT (poczta): "john.doe@contoso.com"
  • DANE WYJŚCIOWE: "john.doe"

Dołączanie sufiksu stałej do nazwy użytkownika

Jeśli używasz piaskownicy usługi Salesforce, może być konieczne dołączenie dodatkowego sufiksu do wszystkich nazw użytkowników przed ich zsynchronizowaniem.

Wyrażenie :
Append([userPrincipalName], ".test")

Przykładowe dane wejściowe/wyjściowe:

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

Generowanie aliasu użytkownika przez łączenie części pierwszego i nazwiska

Należy wygenerować alias użytkownika, przyjmując pierwsze 3 litery pierwszego imienia użytkownika i 5 pierwszych liter nazwiska użytkownika.

Wyrażenie :
Append(Mid([givenName], 1, 3), Mid([surname], 1, 5))

Przykładowe dane wejściowe/wyjściowe:

  • INPUT (givenName): "John"
  • INPUT (nazwisko): "Doe"
  • output: "JohDoe"

Usuwanie znaków diakrytycznych z ciągu

Należy zastąpić znaki zawierające znaczniki wyróżniające równoważnymi znakami, które nie zawierają znaków wyróżniających.

Wyrażenie :
NormalizeDiacritics([givenName])

Przykładowe dane wejściowe/wyjściowe:

  • INPUT (givenName): "Zoë"
  • wyjściowe: "Zoe"

Dzielenie ciągu na tablicę wielowartej

Musisz pobrać rozdzielaną przecinkami listę ciągów i podzielić je na tablicę, która może zostać podłączona do atrybutu wielowartościowego, takiego jak atrybut PermissionSets usługi Salesforce. W tym przykładzie lista zestawów uprawnień została wypełniona w rozszerzeniuAttribute5 w identyfikatorze Entra firmy Microsoft.

Wyrażenie :
Split([extensionAttribute5], ",")

Przykładowe dane wejściowe/wyjściowe:

  • INPUT (extensionAttribute5): "PermissionSetOne, PermissionSetTwo"
  • wyjściowe: ["PermissionSetOne", "PermissionSetTwo"]

Data wyjściowa jako ciąg w określonym formacie

Chcesz wysłać daty do aplikacji SaaS w określonym formacie.
Na przykład chcesz sformatować daty dla usługi ServiceNow.

Wyrażenie :

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

Przykładowe dane wejściowe/wyjściowe:

  • input (extensionAttribute1): "20150123105347.1Z"
  • wyjściowe: "2015-01-23"

Zamień wartość na podstawie wstępnie zdefiniowanego zestawu opcji

Musisz zdefiniować strefę czasową użytkownika na podstawie kodu stanu przechowywanego w identyfikatorze Entra firmy Microsoft.
Jeśli kod stanu nie jest zgodny z żadną ze wstępnie zdefiniowanych opcji, użyj wartości domyślnej "Australia/Sydney".

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

Przykładowe dane wejściowe/wyjściowe:

  • input (stan): "QLD"
  • output: "Australia/Brisbane"

Zastępowanie znaków przy użyciu wyrażenia regularnego

Musisz znaleźć znaki pasujące do wartości wyrażenia regularnego i usunąć je.

Wyrażenie :

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

Przykładowe dane wejściowe/wyjściowe:

  • INPUT (mailNickname: "john_doe72"
  • wyjściowe: "72"

Konwertowanie wygenerowanej wartości userPrincipalName (UPN) na małe litery

W poniższym przykładzie wartość nazwy UPN jest generowana przez łączenie pól źródłowych PreferredFirstName i PreferredLastName, a funkcja ToLower działa na wygenerowany ciąg, aby przekonwertować wszystkie znaki na małe litery.

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

Przykładowe dane wejściowe/wyjściowe:

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

Generowanie unikatowej wartości atrybutu userPrincipalName (UPN)

Na podstawie nazwy i nazwiska użytkownika należy wygenerować wartość atrybutu NAZWY UPN i sprawdzić jego unikatowość w docelowym katalogu usługi AD przed przypisaniem wartości do atrybutu NAZWY UPN.

Wyrażenie :

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

Przykładowe dane wejściowe/wyjściowe:

  • INPUT (PreferredFirstName): "John"
  • INPUT (PreferredLastName): "Smith"
  • wyjściowych: "John.Smith@contoso.com", jeśli wartość nazwy UPN John.Smith@contoso.com jeszcze nie istnieje w katalogu
  • wyjściowych: "J.Smith@contoso.com", jeśli wartość nazwy UPN John.Smith@contoso.com już istnieje w katalogu
  • wyjściowych: "Jo.Smith@contoso.com", jeśli powyższe dwie wartości nazwy UPN już istnieją w katalogu

Następne kroki