Freigeben über


Schreiben von Ausdrücken für Attributzuordnungen in der Microsoft Entra-ID

Wenn Sie die Cloudsynchronisierung konfigurieren, ist eine der Typen von Attributzuordnungen, die Sie angeben können, eine Ausdruckszuordnung.

Mit der Ausdruckszuordnung können Sie Attribute mithilfe eines skriptähnlichen Ausdrucks anpassen. Auf diese Weise können Sie die lokalen Daten in einen neuen oder anderen Wert umwandeln. Sie können beispielsweise zwei Attribute in einem einzigen Attribut kombinieren, da dieses einzelne Attribut von einer Ihrer Cloudanwendungen verwendet wird.

Im folgenden Dokument werden die skriptähnlichen Ausdrücke behandelt, die zum Transformieren der Daten verwendet werden. Dies ist nur Teil des Prozesses. Als Nächstes müssen Sie diesen Ausdruck verwenden und ihn in einer Webanforderung an Ihren Mandanten platzieren. Weitere Informationen hierzu finden Sie unter Transformationen

Syntaxübersicht

Die Syntax für Ausdrücke für Attributzuordnungen erinnert an VBA-Funktionen (Visual Basic for Applications).

  • Der gesamte Ausdruck muss in Bezug auf Funktionen definiert werden, die aus einem Namen bestehen, gefolgt von Argumenten in Klammern:
    FunctionName(<<argument 1>>,<<argument N>>)

  • Sie können Funktionen miteinander verschachteln. Zum Beispiel:
    FunctionOne(FunctionTwo(<<argument1>>))

  • Sie können drei verschiedene Arten von Argumenten an Funktionen übergeben:

    1. Attribute, die in eckige Klammern eingeschlossen werden müssen. Beispiel: [attributeName]
    2. Zeichenfolgenkonstanten, die in doppelte Anführungszeichen eingeschlossen werden müssen. Beispiel: "Vereinigte Staaten"
    3. Andere Funktionen. Beispiel: FunctionOne(<<argument1>>, FunctionTwo(<<argument2>>))
  • Wenn Sie für Zeichenfolgenkonstanten einen umgekehrten Schrägstrich ( \ ) oder anführungszeichen ( " ) in der Zeichenfolge benötigen, muss es mit dem umgekehrten Schrägstrich ( \ ) -Symbol escapet werden. Beispiel: "Firmenname: \"Contoso\""

Liste der Funktionen

Liste der Funktionen Beschreibung
anfügen Verwendet einen Quellzeichenfolgenwert und fügt das Suffix an das Ende an.
BitAnd- Die BitAnd-Funktion legt angegebene Bits für einen Wert fest.
CBool- Die CBool-Funktion gibt einen booleschen Wert basierend auf dem ausgewerteten Ausdruck zurück.
ConvertFromBase64- Die ConvertFromBase64-Funktion konvertiert den angegebenen base64-codierten Wert in eine reguläre Zeichenfolge.
ConvertToBase64- Die ConvertToBase64-Funktion konvertiert eine Zeichenfolge in eine Unicode base64-Zeichenfolge.
ConvertToUTF8Hex Die ConvertToUTF8Hex-Funktion konvertiert eine Zeichenfolge in einen UTF8-Hex-codierten Wert.
Zählen Die Funktion Anzahl gibt die Anzahl von Elementen in einem mehrwertigen Attribut zurück.
Cstr- Die CStr-Funktion konvertiert in einen Zeichenfolgendatentyp.
DateFromNum- Die DateFromNum-Funktion konvertiert einen Wert im Datumsformat von AD in einen DateTime-Typ.
DNComponent- Die DNComponent-Funktion gibt den Wert einer angegebenen DN-Komponente zurück, die von links verläuft.
Fehler Die Fehlerfunktion wird verwendet, um einen benutzerdefinierten Fehler zurückzugeben.
FormatDateTime- Verwendet eine Datumszeichenfolge aus einem Format und konvertiert sie in ein anderes Format.
GUID- Die Funktions-GUID generiert eine neue zufällige GUID.
IIF- Die IIF-Funktion gibt einen satz möglicher Werte basierend auf einer angegebenen Bedingung zurück.
InStr- Die InStr-Funktion findet das erste Vorkommen einer Teilzeichenfolge in einer Zeichenfolge.
IsNull Wenn der Ausdruck als Null ausgewertet wird, gibt die IsNull-Funktion "true" zurück.
IsNullOrEmpty Wenn der Ausdruck null oder eine leere Zeichenfolge ist, gibt die IsNullOrEmpty-Funktion "true" zurück.
IsPresent- Wenn der Ausdruck zu einer Zeichenfolge ausgewertet wird, die nicht Null ist und nicht leer ist, gibt die IsPresent-Funktion "true" zurück.
IsString- Wenn der Ausdruck in einem Zeichenfolgentyp ausgewertet werden kann, wird die IsString-Funktion auf "True" ausgewertet.
Element- Die Item-Funktion gibt ein Element aus einer mehrwertigen Zeichenfolge/einem Attribut zurück.
beitreten Join() ähnelt Append(), mit der Ausnahme, dass mehrere Quell- Zeichenfolgenwerte in einer einzelnen Zeichenfolge kombiniert werden können, und jeder Wert wird durch ein Trennzeichen Zeichenfolge getrennt.
links Die Left-Funktion gibt eine angegebene Anzahl von Zeichen von links von einer Zeichenfolge zurück.
Mid Gibt eine Teilzeichenfolge des Quellwerts zurück. Eine Teilzeichenfolge ist eine Zeichenfolge, die nur einige der Zeichen aus der Quellzeichenfolge enthält.
NormalizeDiacritics Erfordert ein Zeichenfolgenargument. Gibt die Zeichenfolge zurück, aber mit allen diakritischen Zeichen, die durch entsprechende nicht diakritische Zeichen ersetzt werden.
Nicht Flips the boolean value of the source. Wenn Quell- Wert "True" ist, gibt "False" zurück. Andernfalls wird "True" zurückgegeben.
RemoveDuplicates Die RemoveDuplicates-Funktion verwendet eine mehrwertige Zeichenfolge und stellen Sie sicher, dass jeder Wert eindeutig ist.
Ersetzen Ersetzt Werte innerhalb einer Zeichenfolge.
SelectUniqueValue Erfordert mindestens zwei Argumente, bei denen es sich um eindeutige Wertgenerierungsregeln handelt, die mithilfe von Ausdrücken definiert sind. Die Funktion wertet jede Regel aus und überprüft dann den Wert, der auf Eindeutigkeit in der Ziel-App/im Zielverzeichnis generiert wird.
SingleAppRoleAssignment- Gibt eine einzelne appRoleAssignment aus der Liste aller appRoleAssignments zurück, die einem Benutzer für eine bestimmte Anwendung zugewiesen sind.
geteilte Teilt eine Zeichenfolge mithilfe des angegebenen Trennzeichens in ein mehrwertiges Array auf.
StringFromSID- Die StringFromSid-Funktion konvertiert ein Bytearray mit einem Sicherheitsbezeichner in eine Zeichenfolge.
StripSpaces Entfernt alle Leerzeichen (" ") aus der Quellzeichenfolge.
wechseln Wenn Quellwert einem Schlüsselentspricht, wird Wert für diesen Schlüsselzurückgegeben.
ToLower- Verwendet eine Quelle Zeichenfolgenwert und konvertiert ihn mithilfe der angegebenen Kulturregeln in Kleinbuchstaben.
ToUpper- Verwendet eine Quelle Zeichenfolgenwert und konvertiert ihn in Großbuchstaben mithilfe der angegebenen Kulturregeln.
Kürzen Die Glättungsfunktion entfernt führende und nachfolgende Leerzeichen aus einer Zeichenfolge.
Word- Die Word-Funktion gibt ein Wort zurück, das in einer Zeichenfolge enthalten ist, basierend auf Parametern, die die zu verwendenden Trennzeichen beschreiben, und die wortzahl, die zurückgegeben werden soll.

Anfügen

-Funktion:
Append(Quelle, Suffix)

Beschreibung:
Verwendet einen Quellzeichenfolgenwert und fügt das Suffix an das Ende an.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur In der Regel der Name des Attributs aus dem Quellobjekt.
Suffix Erforderlich Schnur Die Zeichenfolge, die Sie an das Ende des Quellwerts anfügen möchten.

BitAnd

Beschreibung:
Die BitAnd-Funktion legt angegebene Bits für einen Wert fest.

Syntax:
num BitAnd(num value1, num value2)

  • Wert1, Wert2: numerische Werte, die zusammen AND'ed sein sollen

Hinweise:
Diese Funktion konvertiert beide Parameter in die binäre Darstellung und legt folgendes fest:

  • 0 – Wenn ein oder beide der entsprechenden Bits in Wert1 und Wert2 0 sind
  • 1 – wenn beide der entsprechenden Bits 1 sind.

Mit anderen Worten, es gibt in allen Fällen 0 zurück, außer wenn die entsprechenden Bits beider Parameter 1 sind.

Beispiel:

BitAnd(&HF, &HF7)
Gibt 7 zurück, da hexadezimal "F" UND "F7" zu diesem Wert ausgewertet werden.


CBool

Beschreibung:
Die CBool-Funktion gibt einen booleschen Wert basierend auf dem ausgewerteten Ausdruck zurück.

Syntax:
bool CBool(exp Expression)

Hinweise:
Wenn der Ausdruck einen Wert ungleich Null auswertet, gibt CBool "True" zurück, andernfalls wird "False" zurückgegeben.

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

Gibt True zurück, wenn beide Attribute denselben Wert aufweisen.


ConvertFromBase64

Beschreibung:
Die ConvertFromBase64-Funktion konvertiert den angegebenen base64-codierten Wert in eine reguläre Zeichenfolge.

Syntax:
str ConvertFromBase64(str source) – setzt Unicode für die Codierung voraus
str ConvertFromBase64(str source, enum Encoding)

  • Quelle: Base64-codierte Zeichenfolge
  • Codierung: Unicode, ASCII, UTF8

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

Beide Beispiele geben "Hello world!"


ConvertToBase64

Beschreibung:
Die ConvertToBase64-Funktion konvertiert eine Zeichenfolge in eine Unicode base64-Zeichenfolge.
Wandelt den Wert eines Arrays mit ganzen Zahlen in die entsprechende Zeichenfolgendarstellung um, die mit Base64-Ziffern codiert ist.

Syntax:
str ConvertToBase64(str source)

Beispiel:
ConvertToBase64("Hello world!")
Gibt "SABlAGwAbABvACAAdwBvAHIAbABkACEA" zurück.


ConvertToUTF8Hex

Beschreibung:
Die ConvertToUTF8Hex-Funktion konvertiert eine Zeichenfolge in einen UTF8-Hex-codierten Wert.

Syntax:
str ConvertToUTF8Hex(str source)

Hinweise:
Das Ausgabeformat dieser Funktion wird von Microsoft Entra ID als DN-Attributformat verwendet.

Beispiel:
ConvertToUTF8Hex("Hello world!")
Gibt 48656C6C6F20776F726C6421 zurück.


Zählen

Beschreibung:
Die Funktion Anzahl gibt die Anzahl von Elementen in einem mehrwertigen Attribut zurück.

Syntax:
num Count(mvstr attribute)


CStr

Beschreibung:
Die CStr-Funktion konvertiert in einen Zeichenfolgendatentyp.

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

  • value: Can be a numeric value, reference attribute, or Boolean.

Beispiel:
CStr([dn])
Kann "cn=Joe,dc=contoso,dc=com" zurückgeben.


DateFromNum

Beschreibung:
Die DateFromNum-Funktion konvertiert einen Wert im Datumsformat von AD in einen DateTime-Typ.

Syntax:
dt DateFromNum(num value)

Beispiel:
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
Gibt eine DateTime zurück, die 2012-01-01 23:00:00 Uhr darstellt


DNComponent

Beschreibung:
Die DNComponent-Funktion gibt den Wert einer angegebenen DN-Komponente zurück, die von links verläuft.

Syntax:
str DNComponent(ref dn, num ComponentNumber)

  • dn: das zu interpretierende Referenzattribute
  • ComponentNumber: Die Komponente im DN, die zurückgegeben werden soll

Beispiel:
DNComponent(CRef([dn]),1)
Wenn dn "cn=Joe,ou=..." lautet, gibt er Joe zurück.


Fehler

Beschreibung:
Die Fehlerfunktion wird verwendet, um einen benutzerdefinierten Fehler zurückzugeben.

Syntax:
void Error(str ErrorMessage)

Beispiel:
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
Wenn das Attribut accountName nicht vorhanden ist, wird ein Fehler für das Objekt ausgelöst.


FormatDateTime

-Funktion:
FormatDateTime(source, inputFormat, outputFormat)

Beschreibung:
Verwendet eine Datumszeichenfolge aus einem Format und konvertiert sie in ein anderes Format.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur In der Regel der Name des Attributs aus dem Quellobjekt.
inputFormat- Erforderlich Schnur Das erwartete Format des Quellwerts. Unterstützte Formate finden Sie unter /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat- Erforderlich Schnur Format des Ausgabedatums.

Guid

Beschreibung:
Die Funktions-GUID generiert eine neue zufällige GUID.

Syntax:
str Guid()


IIF

Beschreibung:
Die IIF-Funktion gibt einen satz möglicher Werte basierend auf einer angegebenen Bedingung zurück.

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

  • Bedingung: Ein beliebiger Wert oder Ausdruck, der auf "true" oder "false" ausgewertet werden kann.
  • valueIfTrue: Wenn die Bedingung als "true" ausgewertet wird, wird der zurückgegebene Wert zurückgegeben.
  • valueIfFalse: Wenn die Bedingung als falsch ausgewertet wird, wird der zurückgegebene Wert zurückgegeben.

Beispiel:
IIF([employeeType]="Intern","t-" & [alias],[alias])
Wenn der Benutzer intern ist, wird der Alias eines Benutzers mit "t-" am Anfang des Benutzers zurückgegeben, andernfalls wird der Alias des Benutzers wie folgt zurückgegeben.


Instr

Beschreibung:
Die InStr-Funktion findet das erste Vorkommen einer Teilzeichenfolge in einer Zeichenfolge.

Syntax:

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: Zeichenfolge, die durchsucht werden soll
  • stringmatch: zu findende Zeichenfolge
  • start: start position to find the substring
  • compare: vbTextCompare oder vbBinaryCompare

Hinweise:
Gibt die Position zurück, an der die Teilzeichenfolge gefunden wurde, oder 0, wenn sie nicht gefunden wurde.

Beispiel:
InStr("The quick brown fox","quick")
Ergibt 5.

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


IsNull

Beschreibung:
Wenn der Ausdruck als Null ausgewertet wird, gibt die IsNull-Funktion "true" zurück.

Syntax:
bool IsNull(var Expression)

Hinweise:
Bei einem Attribut wird ein Null-Wert durch das Fehlen des Attributs ausgedrückt.

Beispiel:
IsNull([displayName])
Gibt True zurück, wenn das Attribut nicht im CS oder MV vorhanden ist.


IsNullOrEmpty

Beschreibung:
Wenn der Ausdruck null oder eine leere Zeichenfolge ist, gibt die IsNullOrEmpty-Funktion "true" zurück.

Syntax:
bool IsNullOrEmpty(var Expression)

Hinweise:
Bei einem Attribut würde dies als True ausgewertet, wenn das Attribut nicht vorhanden ist oder vorhanden ist, aber eine leere Zeichenfolge ist.
Die Umkehrung dieser Funktion heißt IsPresent.

Beispiel:
IsNullOrEmpty([displayName])
Gibt True zurück, wenn das Attribut nicht vorhanden ist oder eine leere Zeichenfolge in der CS oder MV ist.


IsPresent

Beschreibung:
Wenn der Ausdruck zu einer Zeichenfolge ausgewertet wird, die nicht Null ist und nicht leer ist, gibt die IsPresent-Funktion "true" zurück.

Syntax:
bool IsPresent(var expression)

Hinweise:
Die Umkehrung dieser Funktion heißt IsNullOrEmpty.

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


Artikel

Beschreibung:
Die Item-Funktion gibt ein Element aus einer mehrwertigen Zeichenfolge/einem Attribut zurück.

Syntax:
var Item(mvstr attribute, num index)

  • Attribut: Mehrwertiges Attribut
  • index: Index zu einem Element in der mehrwertigen Zeichenfolge.

Hinweise:
Die Item-Funktion ist zusammen mit der Contains-Funktion nützlich, da die letztere Funktion den Index an ein Element im mehrwertigen Attribut zurückgibt.

Löst einen Fehler aus, wenn der Index außerhalb der Grenzen liegt.

Beispiel:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
Gibt die primäre E-Mail-Adresse zurück.


IsString

Beschreibung:
Wenn der Ausdruck in einem Zeichenfolgentyp ausgewertet werden kann, wird die IsString-Funktion auf "True" ausgewertet.

Syntax:
bool IsString(var expression)

Hinweise:
Wird verwendet, um zu ermitteln, ob CStr() erfolgreich sein kann, um den Ausdruck zu analysieren.


Verbinden

-Funktion:
Join(Trennzeichen, Quelle1, Quelle2, ...)

Beschreibung:
Join() ähnelt Append(), mit der Ausnahme, dass mehrere Quell- Zeichenfolgenwerte in einer einzelnen Zeichenfolge kombiniert werden können, und jeder Wert wird durch ein Trennzeichen Zeichenfolge getrennt.

Wenn es sich bei einem der Quellwerte um ein mehrwertiges Attribut handelt, werden alle Werte in diesem Attribut miteinander verbunden, getrennt durch den Trennwert.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Trennzeichen Erforderlich Schnur Zeichenfolge, die verwendet wird, um Quellwerte zu trennen, wenn sie in eine Zeichenfolge verkettet werden. Kann "" sein, wenn kein Trennzeichen erforderlich ist.
Quelle 1 ... sourceN Erforderlich, variable Anzahl von Malen Schnur Zeichenfolgenwerte, die miteinander verknüpft werden sollen.

Links

Beschreibung:
Die Left-Funktion gibt eine angegebene Anzahl von Zeichen von links von einer Zeichenfolge zurück.

Syntax:
str Left(str string, num NumChars)

  • string: die Zeichenfolge, aus der Zeichen zurückgegeben werden sollen
  • NumChars: eine Zahl, die die Anzahl der Zeichen angibt, die vom Anfang (links) der Zeichenfolge zurückgegeben werden sollen.

Hinweise:
Eine Zeichenfolge, die die ersten NumChars-Zeichen in einer Zeichenfolge enthält:

  • Wenn numChars = 0, geben Sie leere Zeichenfolge zurück.
  • Wenn numChars < 0 zurückgibt, geben Sie die Eingabezeichenfolge zurück.
  • Wenn die Zeichenfolge null ist, geben Sie eine leere Zeichenfolge zurück.

Wenn die Zeichenfolge weniger Zeichen als die in numChars angegebene Zahl enthält, wird eine Zeichenfolge zurückgegeben, die mit der Zeichenfolge identisch ist (d. h. alle Zeichen in Parameter 1 enthält).

Beispiel:
Left("John Doe", 3)
Gibt Johzurück.


Mitte

-Funktion:
Mid(Quelle, Anfang, Länge)

Beschreibung:
Gibt eine Teilzeichenfolge des Quellwerts zurück. Eine Teilzeichenfolge ist eine Zeichenfolge, die nur einige der Zeichen aus der Quellzeichenfolge enthält.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur In der Regel name des Attributs.
starten Erforderlich ganze Zahl Index in der Quelle Zeichenfolge, in der Teilzeichenfolge beginnen soll. Das erste Zeichen in der Zeichenfolge hat den Index 1, das zweite Zeichen hat den Index 2 usw.
Länge Erforderlich ganze Zahl Länge der Teilzeichenfolge. Wenn die Länge außerhalb der Quelle Zeichenfolge endet, gibt die Funktion Teilzeichenfolgen von Anfang Index bis zum Ende der Quelle Zeichenfolge zurück.

NormalisierenDiakritische Zeichen

-Funktion:
NormalizeDiacritics(Quelle)

Beschreibung:
Erfordert ein Zeichenfolgenargument. Gibt die Zeichenfolge zurück, aber mit allen diakritischen Zeichen, die durch entsprechende nicht diakritische Zeichen ersetzt werden. Wird in der Regel verwendet, um Vornamen und Nachnamen mit diakritischen Zeichen (Akzentzeichen) in rechtliche Werte zu konvertieren, die in verschiedenen Benutzerbezeichnern wie Benutzerprinzipalnamen, SAM-Kontonamen und E-Mail-Adressen verwendet werden können.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur In der Regel ein Vornamen- oder Nachnamen-Attribut.

Nicht

-Funktion:
Not(quelle)

Beschreibung:
Flips the boolean value of the source. Wenn Quell- Wert "True" ist, gibt "False" zurück. Andernfalls wird "True" zurückgegeben.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Boolesche Zeichenfolge Es wird erwartet, dass Quell- Werte "True" oder "False" sind.

RemoveDuplicates

Beschreibung:
Die RemoveDuplicates-Funktion verwendet eine mehrwertige Zeichenfolge und stellen Sie sicher, dass jeder Wert eindeutig ist.

Syntax:
mvstr RemoveDuplicates(mvstr attribute)

Beispiel:
RemoveDuplicates([proxyAddresses])
Gibt ein bereinigungsfähiges proxyAddress-Attribut zurück, bei dem alle doppelten Werte entfernt wurden.


Ersetzen

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

Beschreibung:
Ersetzt Werte innerhalb einer Zeichenfolge. Es funktioniert je nach den bereitgestellten Parametern unterschiedlich:

  • Wenn oldValue und replacementValue bereitgestellt werden:

    • Ersetzt alle Vorkommen von oldValue- in der Quelle durch replacementValue-
  • Wenn oldValue und Vorlage bereitgestellt werden:

    • Ersetzt alle Vorkommen des oldValue- in der Vorlage durch den wert Quelle
  • Wenn regexPattern und replacementValue bereitgestellt werden:

    • Die Funktion wendet die regexPattern- auf die Quelle Zeichenfolge an, und Sie können die regex-Gruppennamen verwenden, um die Zeichenfolge für replacementValue-
  • Wenn regexPattern, regexGroupName, replacementValue bereitgestellt werden:

    • Die Funktion wendet die regexPattern- auf die Source Zeichenfolge an und ersetzt alle Werte, die regexGroupName- durch replacementValue-
  • Wenn regexPattern, regexGroupName, replacementAttributeName bereitgestellt werden:

    • Wenn Quell- keinen Wert aufweist, wird quelle zurückgegeben.
    • Wenn Quell- einen Wert aufweist, wendet die Funktion den regexPattern- auf die Quelle Zeichenfolge an und ersetzt alle Werte, die regexGroupName mit dem Wert übereinstimmen, der replacementAttributeName

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur In der Regel der Name des Attributs aus der Quelle-Objekt.
oldValue- Wahlfrei Schnur Wert, der in Quellvorlage oder Vorlageersetzt werden soll.
regexPattern- Wahlfrei Schnur Regex-Muster für den Wert, der in Quelleersetzt werden soll. Oder, wenn replacementPropertyName verwendet wird, Muster zum Extrahieren eines Werts aus replacementPropertyName.
regexGroupName- Wahlfrei Schnur Name der Gruppe innerhalb regexPattern. Nur wenn replacementPropertyName verwendet wird, extrahieren wir den Wert dieser Gruppe als replacementValue aus replacementPropertyName.
replacementValue- Wahlfrei Schnur Neuer Wert zum Ersetzen des alten Werts durch.
replacementAttributeName- Wahlfrei Schnur Name des Attributs, das für den Ersetzungswert verwendet werden soll
Vorlage Wahlfrei Schnur Wenn Vorlage Wert bereitgestellt wird, suchen wir nach oldValue- innerhalb der Vorlage und ersetzen sie durch Quell- Wert.

SelectUniqueValue

-Funktion:
SelectUniqueValue(uniqueValueRule1, uniqueValueRule2, uniqueValueRule3, ...)

Beschreibung:
Erfordert mindestens zwei Argumente, bei denen es sich um eindeutige Wertgenerierungsregeln handelt, die mithilfe von Ausdrücken definiert sind. Die Funktion wertet jede Regel aus und überprüft dann den Wert, der auf Eindeutigkeit in der Ziel-App/im Zielverzeichnis generiert wird. Der erste eindeutige Wert, der gefunden wurde, ist die zurückgegebene. Wenn alle Werte bereits im Ziel vorhanden sind, wird der Eintrag verworren, und der Grund wird in den Überwachungsprotokollen protokolliert. Es gibt keine obere Grenze für die Anzahl der Argumente, die angegeben werden können.

Anmerkung

  • Dies ist eine Funktion auf oberster Ebene, sie kann nicht geschachtelt werden.
  • Diese Funktion kann nicht auf Attribute angewendet werden, die über eine übereinstimmende Rangfolge verfügen.
  • Diese Funktion soll nur für Eintragserstellungen verwendet werden. Legen Sie bei verwendung mit einem Attribut die eigenschaft Apply Mapping auf Only during object creationfest.
  • Diese Funktion wird derzeit nur für "Workday and SuccessFactors to Active Directory User Provisioning" unterstützt. Sie kann nicht mit anderen Bereitstellungsanwendungen verwendet werden.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
uniqueValueRule1 ... uniqueValueRuleN Mindestens 2 sind erforderlich, keine obere Grenze Schnur Liste der zu bewertenden Regeln zur Eindeutigen Wertgenerierung.

SingleAppRoleAssignment

-Funktion:
SingleAppRoleAssignment([appRoleAssignments])

Beschreibung:
Gibt eine einzelne appRoleAssignment aus der Liste aller appRoleAssignments zurück, die einem Benutzer für eine bestimmte Anwendung zugewiesen sind. Diese Funktion ist erforderlich, um das appRoleAssignments-Objekt in eine einzelne Rollennamenzeichenfolge zu konvertieren. Beachten Sie, dass die bewährte Methode darin besteht, sicherzustellen, dass jeweils nur ein appRoleAssignment einem Benutzer zugewiesen wird, und wenn mehrere Rollen zugewiesen werden, ist die zurückgegebene Rollenzeichenfolge möglicherweise nicht vorhersehbar.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
[appRoleAssignments] Erforderlich Schnur [appRoleAssignments] Objekt.

Trennen

-Funktion:
Split(Quelle, Trennzeichen)

Beschreibung:
Teilt eine Zeichenfolge mithilfe des angegebenen Trennzeichens in ein mehrwertiges Array auf.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur Quelle Wert, der aktualisiert werden soll.
Trennzeichen Erforderlich Schnur Gibt das Zeichen an, das zum Teilen der Zeichenfolge verwendet wird (Beispiel: ",")

StringFromSid

Beschreibung:
Die StringFromSid-Funktion konvertiert ein Bytearray mit einem Sicherheitsbezeichner in eine Zeichenfolge.

Syntax:
str StringFromSid(bin ObjectSID)


StripSpaces

-Funktion:
StripSpaces(Quelle)

Beschreibung:
Entfernt alle Leerzeichen (" ") aus der Quellzeichenfolge.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur Quelle Wert, der aktualisiert werden soll.

Schalter

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

Beschreibung:
Wenn Quellwert einem Schlüsselentspricht, wird Wert für diesen Schlüsselzurückgegeben. Wenn Quell- Wert keinem Schlüssel entspricht, wird defaultValue-zurückgegeben. Key und Wert müssen Parameter immer paarweise vorhanden sein. Die Funktion erwartet immer eine gerade Anzahl von Parametern.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur zu überprüfenden Quellwerts.
defaultValue- Wahlfrei Schnur Der Standardwert, der verwendet werden soll, wenn die Quelle keinem Schlüssel entspricht. Kann eine leere Zeichenfolge ("") sein.
-Taste Erforderlich Schnur Key, um Quellwert zu vergleichen.
Wert Erforderlich Schnur Ersetzungswert für die Quelle dem Schlüssel entspricht.

ToLower

-Funktion:
ToLower(Quelle, Kultur)

Beschreibung:
Verwendet eine Quelle Zeichenfolgenwert und konvertiert ihn mithilfe der angegebenen Kulturregeln in Kleinbuchstaben. Wenn keine Kultur Informationen angegeben ist, wird die Invariante Kultur verwendet.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur In der Regel name des Attributs aus dem Quellobjekt
kultur Wahlfrei Schnur Das Format für den Kulturnamen basierend auf RFC 4646 ist languagecode2-country/regioncode2, wobei languagecode2 der Zwei-Buchstaben-Sprachcode ist und Land/Regioncode2 der Zwei-Buchstaben-Subkulturcode ist. Beispiele sind ja-JP für Japanisch (Japan) und en-US für Englisch (USA). In Fällen, in denen kein Zwei-Buchstaben-Sprachcode verfügbar ist, wird ein aus ISO 639-2 abgeleiteter Drei-Buchstaben-Code verwendet.

ToUpper

-Funktion:
ToUpper(Quelle, Kultur)

Beschreibung:
Verwendet eine Quelle Zeichenfolgenwert und konvertiert ihn in Großbuchstaben mithilfe der angegebenen Kulturregeln. Wenn keine Kultur Informationen angegeben ist, wird die Invariante Kultur verwendet.

Parameter:

Name Erforderlich/Wiederholen Art Notizen
Quell- Erforderlich Schnur In der Regel der Name des Attributs aus dem Quellobjekt.
kultur Wahlfrei Schnur Das Format für den Kulturnamen basierend auf RFC 4646 ist languagecode2-country/regioncode2, wobei languagecode2 der Zwei-Buchstaben-Sprachcode ist und Land/Regioncode2 der Zwei-Buchstaben-Subkulturcode ist. Beispiele sind ja-JP für Japanisch (Japan) und en-US für Englisch (USA). In Fällen, in denen kein Zwei-Buchstaben-Sprachcode verfügbar ist, wird ein aus ISO 639-2 abgeleiteter Drei-Buchstaben-Code verwendet.

Stutzen

Beschreibung:
Die Glättungsfunktion entfernt führende und nachfolgende Leerzeichen aus einer Zeichenfolge.

Syntax:
str Trim(str value)

Beispiel:
Trim(" Test ")
Gibt "Test" zurück.

Trim([proxyAddresses])
Entfernt führende und nachfolgende Leerzeichen für jeden Wert im ProxyAddress-Attribut.


Wort

Beschreibung:
Die Word-Funktion gibt ein Wort zurück, das in einer Zeichenfolge enthalten ist, basierend auf Parametern, die die zu verwendenden Trennzeichen beschreiben, und die wortzahl, die zurückgegeben werden soll.

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

  • string: die Zeichenfolge, aus der ein Wort zurückgegeben werden soll.
  • WordNumber: eine Zahl, die angibt, welche Wortzahl zurückgegeben werden soll.
  • Trennzeichen: eine Zeichenfolge, die das Trennzeichen(n) darstellt, das zum Identifizieren von Wörtern verwendet werden soll

Hinweise:
Jede Zeichenfolge von Zeichen in einer Zeichenfolge, die durch die Zeichen in Trennzeichen getrennt ist, werden als Wörter identifiziert:

  • Wenn zahl < 1, wird eine leere Zeichenfolge zurückgegeben.
  • Wenn die Zeichenfolge null ist, wird eine leere Zeichenfolge zurückgegeben.

Wenn die Zeichenfolge weniger als Zahlenwörter enthält oder eine Zeichenfolge keine durch Trennzeichen identifizierten Wörter enthält, wird eine leere Zeichenfolge zurückgegeben.

Beispiel:
Word("The quick brown fox",3," ")
Gibt "braun" zurück.

Word("This,string!has&many separators",3,",!&#")
Würde "has" zurückgeben

Beispiele

Bekannte Domänenname entfernen

Sie müssen einen bekannten Domänennamen aus der E-Mail eines Benutzers entfernen, um einen Benutzernamen zu erhalten.
Wenn die Domäne beispielsweise "contoso.com" lautet, können Sie den folgenden Ausdruck verwenden:

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

Beispieleingabe/Ausgabe:

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

Anfügen eines Konstantensuffixs an den Benutzernamen

Wenn Sie eine Salesforce-Sandbox verwenden, müssen Sie möglicherweise ein zusätzliches Suffix an alle Benutzernamen anfügen, bevor Sie sie synchronisieren.

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

Beispieleingabe/Ausgabe:

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

Generieren eines Benutzeralias durch Verketten von Teilen des Vor- und Nachnamens

Sie müssen einen Benutzeralias generieren, indem Sie die ersten 3 Buchstaben des Vornamens und die ersten 5 Buchstaben des Nachnamens des Benutzers verwenden.

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

Beispieleingabe/Ausgabe:

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

Entfernen diakritischer Zeichen aus einer Zeichenfolge

Sie müssen Zeichen ersetzen, die Akzentzeichen enthalten, durch entsprechende Zeichen, die keine Akzentzeichen enthalten.

Ausdruck:
NormalizeDiacritics([givenName])

Beispieleingabe/Ausgabe:

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

Aufteilen einer Zeichenfolge in ein mehrwertiges Array

Sie müssen eine durch Trennzeichen getrennte Liste von Zeichenfolgen verwenden und in ein Array aufteilen, das in ein mehrwertiges Attribut wie das PermissionSets-Attribut von Salesforce angeschlossen werden kann. In diesem Beispiel wurde eine Liste der Berechtigungssätze in extensionAttribute5 in Microsoft Entra ID aufgefüllt.

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

Beispieleingabe/Ausgabe:

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

Ausgabedatum als Zeichenfolge in einem bestimmten Format

Sie möchten Datumsangaben an eine SaaS-Anwendung in einem bestimmten Format senden.
Beispielsweise möchten Sie Datumsangaben für ServiceNow formatieren.

Ausdruck:

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

Beispieleingabe/Ausgabe:

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

Ersetzen eines Werts basierend auf vordefinierten Optionen

Sie müssen die Zeitzone des Benutzers basierend auf dem zustandscode definieren, der in der Microsoft Entra-ID gespeichert ist.
Wenn der Statuscode keiner der vordefinierten Optionen entspricht, verwenden Sie den Standardwert "Australien/Sydney".

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

Beispieleingabe/Ausgabe:

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

Ersetzen von Zeichen mithilfe eines regulären Ausdrucks

Sie müssen Zeichen finden, die einem Regulären Ausdruckswert entsprechen, und sie entfernen.

Ausdruck:

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

Beispieleingabe/Ausgabe:

  • INPUT- (mailNickname: "john_doe72"
  • AUSGABE-: "72"

Konvertieren des generierten UserPrincipalName (UPN)-Werts in Kleinbuchstaben

Im folgenden Beispiel wird der UPN-Wert generiert, indem die Quellfelder "PreferredFirstName" und "PreferredLastName" verkettet werden, und die Funktion ToLower arbeitet mit der generierten Zeichenfolge, um alle Zeichen in Kleinbuchstaben zu konvertieren.

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

Beispieleingabe/Ausgabe:

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

Generieren eines eindeutigen Werts für userPrincipalName (UPN)-Attribut

Basierend auf dem Vor- und Nachnamen des Benutzers müssen Sie einen Wert für das UPN-Attribut generieren und die Eindeutigkeit im AD-Zielverzeichnis überprüfen, bevor Sie den Wert dem UPN-Attribut zuweisen.

Ausdruck:

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

Beispieleingabe/Ausgabe:

  • INPUT (PreferredFirstName): "John"
  • INPUT (PreferredLastName): "Smith"
  • AUSGABE-: "John.Smith@contoso.com" wenn der UPN-Wert John.Smith@contoso.com nicht bereits im Verzeichnis vorhanden ist
  • AUSGABE-: "J.Smith@contoso.com" wenn der UPN-Wert von John.Smith@contoso.com bereits im Verzeichnis vorhanden ist
  • OUTPUT-: "Jo.Smith@contoso.com" wenn die oben genannten beiden UPN-Werte bereits im Verzeichnis vorhanden sind

Nächste Schritte