Naslaginformatie voor het schrijven van expressies voor kenmerktoewijzingen in Microsoft Entra-id

Wanneer u inrichting configureert voor een SaaS-toepassing, is een van de typen kenmerktoewijzingen die u kunt opgeven een expressietoewijzing. Voor deze toewijzingen moet u een scriptachtige expressie schrijven waarmee u de gegevens van uw gebruikers kunt transformeren in indelingen die acceptabeler zijn voor de SaaS-toepassing.

Syntaxisoverzicht

De syntaxis voor expressies voor kenmerktoewijzingen doet denken aan VBA-functies (Visual Basic for Applications).

  • De volledige expressie moet worden gedefinieerd in termen van functies, die bestaan uit een naam gevolgd door argumenten tussen haakjes: FunctionName(<<argument 1>>,<<argument N>>)

  • U kunt functies binnen elkaar nesten. Bijvoorbeeld: FunctionOne(FunctionTwo(<<argument1>>))

  • U kunt drie verschillende typen argumenten doorgeven aan functies:

    1. Kenmerken, die tussen vierkante haken moeten worden geplaatst. Bijvoorbeeld: [attributeName]
    2. Tekenreeksconstanten, die tussen dubbele aanhalingstekens moeten worden geplaatst. Bijvoorbeeld: "Verenigde Staten"
    3. Overige functies. Bijvoorbeeld: FunctionOne(<<argument1>>, FunctionTwo(<<argument2>>))
  • Als u voor tekenreeksconstanten een backslash (\) of aanhalingsteken (") in de tekenreeks nodig hebt, moeten deze worden ge-escaped met het backslashteken (\). Bijvoorbeeld: "Bedrijfsnaam: \"Contoso\""

  • De syntaxis is hoofdlettergevoelig, waar rekening mee moet worden gehouden bij het invoeren als tekenreeksen in een functie tegenover het rechtstreeks plakken van deze tekenreeksen.

Lijst van functies

AppendAppRoleAssignmentsComplexBitAndCBoolCDateCoalesceConvertToBase64ConvertToUTF8HexCountCStrDateAddDateDiffDateFromNumFormatDateTimeGuidIgnoreFlowIfNullOrEmptyIIFInStrIsNullIsNullOrEmptyIsPresentIsStringItemJoinLeftMidNormalizeDiacriticsNotNowNumFromDatePCaseRandomStringRedactRemoveDuplicatesReplaceSelectUniqueValueSingleAppRoleAssignmentSplitStripSpacesSwitchToLowerToUpperWord


Toevoegen

Functie: Append(bron, achtervoegsel)

Beschrijving: Neemt een brontekenreekswaarde en voegt het achtervoegsel toe aan het einde ervan.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Gewoonlijk de naam van het kenmerk van het bron-object.
achtervoegsel Vereist String De tekenreeks die u wilt toevoegen aan het einde van de bronwaarde.

Constant achtervoegsel toevoegen aan gebruikersnaam

Voorbeeld: Als u een Salesforce-sandbox gebruikt, moet u mogelijk nog een achtervoegsel toevoegen aan al uw gebruikersnamen voordat u ze synchroniseert.

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

Voorbeeldinvoer/-uitvoer:

  • INVOER: (userPrincipalName): "John.Doe@contoso.com"
  • UITVOER: "John.Doe@contoso.com.test"

AppRoleAssignmentsComplex

Functie: AppRoleAssignmentsComplex([appRoleAssignments])

Beschrijving: Wordt gebruikt om meerdere rollen voor een gebruiker te configureren. Zie Zelfstudie: kenmerktoewijzingen voor gebruikersinrichting aanpassen voor SaaS-toepassingen in Microsoft Entra ID voor gedetailleerde gebruik.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
[appRoleAssignments] Vereist String [appRoleAssignments]-object.

BitAnd

Functie: BitAnd(waarde1, waarde2)

Beschrijving: met deze functie worden beide parameters geconverteerd naar de binaire representatie en wordt een bit ingesteld op:

  • 0 - als een of beide van de corresponderende bits in waarde1 en waarde2 0 zijn
  • 1 - als beide corresponderende bits 1 zijn.

Met andere woorden, de functie retourneert 0 in alle gevallen, behalve wanneer de corresponderende bits van beide parameters 1 zijn.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
waarde1 Vereist Aantal Numerieke waarde die moet worden ge-AND'd met waarde2
waarde2 Vereist Aantal Numerieke waarde die moet worden ge-AND'd met waarde1

Voorbeeld:BitAnd(&HF, &HF7)

11110111 AND 00000111 = 00000111, dus BitAnd retourneert 7, de binaire waarde van 00000111.


CBool

Functie:CBool(Expression)

Beschrijving:CBool retourneert een booleaanse waarde op basis van de geëvalueerde expressie. Als de expressie resulteert in een niet-nulwaarde, retourneert CBoolWaar, anders wordt Onwaar geretourneerd.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Expression Vereist Expressie Elke geldige expressie

Voorbeeld:CBool([attribute1] = [attribute2])
Retourneert Waar als beide kenmerken dezelfde waarde hebben.


CDate

Functie:
CDate(expression)

Beschrijving:
De functie CDate retourneert een UTC DateTime uit een tekenreeks. DateTime is geen systeemeigen kenmerktype, maar kan worden gebruikt binnen datumfuncties zoals FormatDateTime en DateAdd.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Expression Vereist Expressie Elke geldige tekenreeks die een datum/tijd vertegenwoordigt. Zie .NET datum- en tijdtekenreeksen met aangepaste notatie voor ondersteunde notaties.

Opmerkingen:
De geretourneerde tekenreeks is altijd in UTC en volgt de notatie M/d/jjjj u:mm:ss tt.

Voorbeeld 1:
CDate([StatusHireDate])
Voorbeeldinvoer/-uitvoer:

  • INVOER (StatusHireDate): "2020-03-16-07:00"
  • UITVOER: "16-3-2020 7:00:00 uur" <-- Let op het UTC-equivalent van de bovenstaande datum/tijd wordt geretourneerd

Voorbeeld 2:
CDate("2021-06-30+08:00")
Voorbeeldinvoer/-uitvoer:

  • INVOER: "2021-06-30+08:00"
  • UITVOER: "29-6-2021 4:00:00 pm" <-- Let op het UTC-equivalent van de bovenstaande datum/tijd wordt geretourneerd

Voorbeeld 3:
CDate("2009-06-15T01:45:30-07:00")
Voorbeeldinvoer/-uitvoer:

  • INVOER: "2009-06-15T01:45:30-07:00"
  • UITVOER: "15-6-2009 8:45:30 am" <-- Let op het UTC-equivalent van de bovenstaande datum/tijd wordt geretourneerd

Coalesce

Functie: Coalesce(bron1, bron2, ..., standaardwaarde)

Beschrijving: retourneert de eerste bronwaarde die niet NULL is. Als alle argumenten NULL zijn en defaultValue aanwezig is, wordt de defaultValue geretourneerd. Als alle argumenten NULL zijn en defaultValue niet aanwezig is, retourneert Coalesce NULL.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron1 … bronN Vereist String Vereist, variabel aantal keren. Gewoonlijk de naam van het kenmerk van het bron-object.
standaardwaarde Optioneel String Standaardwaarde die moet worden gebruikt wanneer alle bronwaarden NULL zijn. Mag een lege tekenreeks ("") zijn.

Stroom-e-mailwaarde indien niet NULL, anders userPrincipalName van stroom

Voorbeeld: u wilt het e-mailkenmerk door laten stromen als het aanwezig is. Als dit niet het is, wilt u in plaats daarvan de waarde van userPrincipalName doorstromen.

Expression:Coalesce([mail],[userPrincipalName])

Voorbeeldinvoer/-uitvoer:

  • INVOER (email): NULL
  • INVOER (userPrincipalName): "John.Doe@contoso.com"
  • UITVOER: "John.Doe@contoso.com"

ConvertToBase64

Functie: ConvertToBase64(bron)

Beschrijving: de functie ConvertToBase64 converteert een tekenreeks naar een Unicode base64-tekenreeks.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Tekenreeks die moet worden geconverteerd naar base64

Voorbeeld:ConvertToBase64("Hello world!")

Retourneert 'SABlAGwAbABvACAAdwBvAHIAbABkACEA'


ConvertToUTF8Hex

Functie: ConvertToUTF8Hex(bron)

Beschrijving: de functie ConvertToUTF8Hex converteert een tekenreeks naar een UTF8 hexadecimaal gecodeerde waarde.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Tekenreeks die moet worden geconverteerd naar UTF8 hex

Voorbeeld:ConvertToUTF8Hex("Hello world!")

Retourneert 48656C6C6F20776F726C6421


Tellen

Functie: Count(kenmerk)

Beschrijving: de functie Count retourneert het aantal elementen in een kenmerk met meerdere waarden

Parameters:

Naam Vereist/herhalend Type Opmerkingen
kenmerk Vereist attribute Kenmerk met meerdere waarden waaraan elementen worden geteld

CStr

Functie: CStr(waarde)

Beschrijving: de functie CStr converteert een waarde naar een tekenreeksgegevenstype.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
value Vereist numeriek, verwijzing of booleaanse waarde Kan een numerieke waarde, verwijzingskenmerk of booleaanse waarde zijn.

Voorbeeld:CStr([dn])

Retourneert 'cn=Joe,dc=contoso,dc=com'


DateAdd

Functie:
DateAdd(interval, value, dateTime)

Beschrijving:
Retourneert een datum-/tijdtekenreeks die een datum representeert waaraan een opgegeven tijdsinterval is toegevoegd. De geretourneerde datum heeft de notatie M/d/jjjj u:mm:ss tt.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
interval Vereist String Tijdsinterval dat u wilt toevoegen. Zie de geaccepteerde waarden onder deze tabel.
value Vereist Aantal Het aantal eenheden dat u wilt toevoegen. Dit kan positief zijn (om datums in de toekomst te krijgen) of negatief (om datums in het verleden te krijgen).
datumTijd Vereist Datum en tijd DateTime die de datum aangeeft waaraan het interval wordt toegevoegd.

Wanneer u een datumtekenreeks als invoer doorgeeft, gebruikt u de functie CDate om de datum/tijd-tekenreeks te verpakken. Gebruik de functie Now om systeemtijd in UTC op te halen.

De interval-tekenreeks moet een van de volgende waarden hebben:

  • yyyy jaar
  • m maand
  • d dag
  • ww week
  • h uur
  • n minuut
  • s seconde

Voorbeeld 1: een datumwaarde genereren op basis van binnenkomende StatusHireDate uit Workday
DateAdd("d", 7, CDate([StatusHireDate]))

Opmerking interval waarde dateTime (waarde van variabele StatusHireDate) output
Voeg 7 dagen toe aan de datum van indiensttreding "d" 7 2012-03-16-07:00 3/23/2012 7:00:00 AM
Krijg een datum tien dagen voor de datum van indiensttreding "d" -10 2012-03-16-07:00 3/6/2012 7:00:00 AM
Voeg twee weken toe aan de datum van indiensttreding "ww" 2 2012-03-16-07:00 3/30/2012 7:00:00 AM
Voeg tien maanden toe aan de datum van indiensttreding "m" 10 2012-03-16-07:00 1/16/2013 7:00:00 AM
Voeg twee jaar toe aan de datum van indiensttreding "yyyy" 2 2012-03-16-07:00 3/16/2014 7:00:00 AM

DateDiff

Functie:
DateDiff(interval, date1, date2)

Beschrijving:
Deze functie gebruikt de parameter interval om een getal te retourneren dat het verschil tussen de twee opgegeven datums aangeeft. De functie retourneert

  • een positief getal als datum2 > datum1,
  • een negatief getal als datum2 < datum1,
  • 0 als datum2 == datum1

Parameters:

Naam Vereist/Optioneel Type Opmerkingen
interval Vereist String Te gebruiken tijdsinterval om het verschil te berekenen.
datum1 Vereist Datum en tijd DateTime die een geldige datum representeert.
datum2 Vereist Datum en tijd DateTime die een geldige datum representeert.

Wanneer u een datumtekenreeks als invoer doorgeeft, gebruikt u de functie CDate om de datum/tijd-tekenreeks te verpakken. Gebruik de functie Now om systeemtijd in UTC op te halen.

De interval-tekenreeks moet een van de volgende waarden hebben:

  • yyyy jaar
  • m maand
  • d dag
  • ww week
  • h uur
  • n minuut
  • s seconde

Voorbeeld 1: de huidige datum vergelijken met de datum van indiensttreding uit Workday met verschillende intervallen
DateDiff("d", Now(), CDate([StatusHireDate]))

Opmerking interval datum1 datum2 output
Positief verschil in dagen tussen twee datums d 2021-08-18+08:00 2021-08-31+08:00 13
Negatief verschil in dagen tussen twee datums d 8/25/2021 5:41:18 PM 2012-03-16-07:00 -3449
Verschil in weken tussen twee datums ww 8/25/2021 5:41:18 PM 2012-03-16-07:00 -493
Verschil in maanden tussen twee datums m 8/25/2021 5:41:18 PM 2012-03-16-07:00 -113
Verschil in jaren tussen twee datums yyyy 8/25/2021 5:41:18 PM 2012-03-16-07:00 -9
Verschil wanneer beide datums hetzelfde zijn d 2021-08-31+08:00 2021-08-31+08:00 0
Verschil in uren tussen twee datums h 2021-08-24 2021-08-25 24
Verschil in minuten tussen twee datums n 2021-08-24 2021-08-25 1440
Verschil in seconden tussen twee datums s 2021-08-24 2021-08-25 86400

Voorbeeld 2: DateDiff combineren met de functie IIF om een kenmerkwaarde in te stellen
Als een account actief is in Workday, wordt het kenmerk accountEnabled van de gebruiker alleen ingesteld op Waar als de datum van indiensttreding binnen de volgende vijf dagen valt.

Switch([Active], , 
  "1", IIF(DateDiff("d", Now(), CDate([StatusHireDate])) > 5, "False", "True"), 
  "0", "False")

DateFromNum

Functie: DateFromNum(waarde)

Beschrijving: de functie DateFromNum converteert een waarde in de datumnotatie van AD naar een DateTime-type.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
value Vereist Datum Naar DateTime-type te converteren AD-datum

Voorbeeld:DateFromNum([lastLogonTimestamp])

DateFromNum(129699324000000000)

Retourneert een DateTime die 1 januari 2012 om 23.00 uur representeert.


FormatDateTime

Functie: FormatDateTime(bron, datumTijdStijlen, invoernotatie, uitvoernotatie)

Beschrijving: neemt een datumtekenreeks in de ene notatie en converteert deze naar de andere notatie.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Gewoonlijk de naam van het kenmerk van het bron-object.
datumTijdStijlen Optioneel String Gebruik deze parameter om de opmaakopties op te geven waarmee tekenreeksparsering wordt aangepast voor bepaalde datum- en tijdparseringsmethoden. Zie het document DateTimeStyles voor ondersteunde waarden. Als deze parameter leeg wordt gelaten, is de gebruikte standaardwaarde DateTimeStyles.RoundtripKind, DateTimeStyles.AllowLeadingWhite, DateTimeStyles.AllowTrailingWhite
invoernotatie Vereist String Verwachte notatie van de bronwaarde. Zie .NET datum- en tijdtekenreeksen met aangepaste notatie voor ondersteunde notaties.
uitvoernotatie Vereist String Notatie van de uitvoerdatum.

Uitvoerdatum als tekenreeks in een bepaalde notatie

Voorbeeld: u wilt datums verzenden naar een SaaS-toepassing zoals ServiceNow in een bepaalde notatie. U kunt overwegen de volgende expressie te gebruiken.

Expression:

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

Voorbeeldinvoer/-uitvoer:

  • INVOER (extensionAttribute1): "20150123105347.1Z"
  • UITVOER: "2015-01-23"

Guid

Functie: Guid()

Beschrijving: de functie-GUID genereert een nieuwe willekeurige GUID

Voorbeeld:
Guid()
Voorbeelduitvoer: "1088051a-cd4b-4288-84f8-e02042ca72bc"


IgnoreFlowIfNullOrEmpty

Functie: IgnoreFlowIfNullOrEmpty(expressie)

Beschrijving: de functie IgnoreFlowIfNullOrEmpty instrueert de inrichtingsservice om het kenmerk te negeren en uit de stroom te laten als de ingesloten functie of kenmerk NULL of leeg is.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Expression Vereist Expressie Te evalueren expressie

Voorbeeld 1: een kenmerk niet laten doorstromen als het null is
IgnoreFlowIfNullOrEmpty([department])
Met de bovenstaande expressie wordt het afdelingskenmerk verwijderd uit de inrichtingsstroom als het null of leeg is.

Voorbeeld 2: een kenmerk niet laten doorstromen als de expressietoewijzing resulteert in een lege tekenreeks of null
Stel dat het kenmerkvoorvoegsel successFactors is toegewezen aan het persoonlijketitle van het on-premises Active Directory-kenmerk met behulp van de volgende expressietoewijzing:
IgnoreFlowIfNullOrEmpty(Switch([prefix], "", "3443", "Dr.", "3444", "Prof.", "3445", "Prof. Dr."))
De bovenstaande expressie evalueert eerst de functie Switch. Als het voorvoegselkenmerk geen van de waarden bevat die worden vermeld in de functie Switch , retourneert Switch een lege tekenreeks en wordt de persoonlijke kenmerktitel niet opgenomen in de inrichtingsstroom naar on-premises Active Directory.


IIF

Functie: IIF(voorwaarde, waardeIndienWaar, waardeIndienOnwaar)

Beschrijving: de functie IIF retourneert een van een set mogelijke waarden op basis van een opgegeven voorwaarde.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
voorwaarde Vereist Variabele of expressie Een waarde of expressie die als WAAR of ONWAAR kan worden geëvalueerd.
waardeIndienWaar Vereist Variabele of tekenreeks Als de voorwaarde Waar oplevert, wordt deze waarde geretourneerd.
waardeIndienOnwaar Vereist Variabele of tekenreeks Als de voorwaarde Onwaar oplevert, wordt deze waarde geretourneerd.

De volgende vergelijkingsoperatoren kunnen worden gebruikt in de voorwaarde:

  • Gelijk aan (=) en niet gelijk aan (<>)
  • Groter dan (>) en groter dan of gelijk aan (>=)
  • Kleiner dan (<) en kleiner dan of gelijk aan (<=)

Voorbeeld: de waarde van het doelkenmerk instellen op het bronkenmerk land als land="USA", anders de waarde van het doelkenmerk instellen in op het bronkenmerk afdeling. IIF([country]="USA",[country],[department])

Bekende beperkingen

Deze sectie bevat beperkingen en tijdelijke oplossingen voor de functie IIF. Zie Maken mislukt vanwege null-/lege waarden voor informatie over het oplossen van problemen met het maken van gebruikers.

  • De functie IIF biedt momenteel geen ondersteuning voor logische EN- en OR-operators.
  • Om AND-logica te implementeren, moet u geneste IIF-instructies gebruiken langs het waardeIndienWaar-pad. Voorbeeld: als land='USA' en staat='CA', retourneer 'Waar', anders retourneer 'Onwaar'. IIF([country]="USA",IIF([state]="CA","True","False"),"False")
  • Om OR-logica te implementeren, moet u geneste IIF-instructies gebruiken langs het waardeIndienOnwaar-pad. Voorbeeld: als land='USA' of staat='CA', retourneer 'Waar', anders retourneer 'Onwaar'. IIF([country]="USA","True",IIF([state]="CA","True","False"))
  • Als het in de functie IFF gebruikte bronkenmerk leeg of null is, mislukt de voorwaardecontrole.
    • Voorbeelden van niet-ondersteunde IIF-expressies:
      • IIF([country]="","Other",[country])
      • IIF(IsNullOrEmpty([country]),"Other",[country])
      • IIF(IsPresent([country]),[country],"Other")
    • Aanbevolen tijdelijke oplossing: gebruik de functie Switch om te controleren op lege en nullwaarden. Voorbeeld: als landkenmerk leeg is, stel waarde "Overig" in. Als kenmerk aanwezig is, geef kenmerkwaarde door aan doelkenmerk.
      • Switch([country],[country],"","Other")

InStr

Functie: InStr(waarde1, waarde2, begin, vergelijkingstype)

Beschrijving: met de functie InStr wordt het eerste exemplaar van een subtekenreeks in een tekenreeks gevonden

Parameters:

Naam Vereist/herhalend Type Opmerkingen
waarde1 Vereist String Te doorzoeken tekenreeks
waarde2 Vereist String Te vinden tekenreeks
start Optioneel Geheel getal Beginpositie om de subtekenreeks te zoeken
vergelijkinstype Optioneel Opsomming Kan vbTextCompare of vbBinaryCompare zijn

Voorbeeld:InStr("The quick brown fox","quick")

Levert 5 op

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

Levert 7 op


IsNull

Functie: IsNull(Expressie)

Beschrijving: als de expressie null oplevert, retourneert de functie IsNull Waar. Voor een kenmerk wordt een null uitgedrukt door het ontbreken van het kenmerk.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Expression Vereist Expressie Te evalueren expressie

Voorbeeld:IsNull([displayName])

Retourneert Waar als het kenmerk niet aanwezig is.


IsNullorEmpty

Functie: IsNullOrEmpty(expressie)

Beschrijving: als de expressie null of een lege tekenreeks is, retourneert de functie IsNullOrEmpty Waar. Voor een kenmerk zou dit resulteren in Waar als het kenmerk afwezig is of aanwezig is, maar een lege tekenreeks is. De omgekeerde versie van deze functie heet IsPresent.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Expression Vereist Expressie Te evalueren expressie

Voorbeeld:IsNullOrEmpty([displayName])

Retourneert Waar als het kenmerk niet aanwezig is of een lege tekenreeks is.


IsPresent

Functie: IsPresent(expressie)

Beschrijving: Als de expressie resulteert in een tekenreeks die niet Null is en niet leeg is, retourneert de functie IsPresent waar. De omgekeerde versie van deze functie heet IsNullOrEmpty.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Expression Vereist Expressie Te evalueren expressie

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


IsString

Functie: IsString(expressie)

Beschrijving: als de expressie kan worden geëvalueerd tot een tekenreekstype, resulteert de functie IsString Waar.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Expression Vereist Expressie Te evalueren expressie

Artikel

Functie: Item(kenmerk, index)

Beschrijving: de functie Item retourneert één item uit een tekenreeks/kenmerk met meerdere waarden.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
kenmerk Vereist Kenmerk Te doorzoeken kenmerk met meerdere waarden
index Vereist Geheel getal Index van een item in de tekenreeks met meerdere waarden

Voorbeeld:Item([proxyAddresses], 1) retourneert het eerste item in het kenmerk met meerdere waarden. Index 0 mag niet worden gebruikt.


Deelnemen

Functie: Join(scheidingsteken, bron1, bron2, ...)

Beschrijving: Join() is vergelijkbaar met Append(), behalve dat deze meerdere bron-tekenreekswaarden kan combineren tot één tekenreeks, waarbij elke waarde wordt gescheiden door een scheidingstekenreeks.

Als een van de bronwaarden een kenmerk met meerdere waarden is, worden alle waarden in dat kenmerk samengevoegd, gescheiden door de scheidingstekenwaarde.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
scheidingsteken Vereist String Tekenreeks die wordt gebruikt om bronwaarden te scheiden wanneer ze worden samengevoegd tot één tekenreeks. Mag "" zijn als geen scheidingsteken is vereist.
bron1 … bronN Vereist, variabel aantal keren String Samen te voegen tekenreekswaarden.

Left

Functie: Left(tekenreeks, aantalTekens)

Beschrijving: de functie Left retourneert het opgegeven aantal tekens van de linkerkant van een tekenreeks. Als aantalTekens = 0, retourneer lege tekenreeks. Als aantalTekens < 0, retourneer invoertekenreeks. Als tekenreeks null is, retourneer lege tekenreeks. Als de tekenreeks minder tekens bevat dan het getal dat is opgegeven in aantalTekens, wordt een tekenreeks identiek aan tekenreeks (dat wil zeggen, met alle tekens in parameter 1) geretourneerd.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Tekenreeks Vereist Kenmerk De tekenreeks om tekens uit te retourneren
aantalTekens Vereist Geheel getal Een getal dat het aantal tekens aangeeft dat moet worden geretourneerd vanaf het begin (links) van de tekenreeks

Voorbeeld:Left("John Doe", 3)

Retourneert 'Joh'.


Mid

Functie: Mid(bron, begin, lengte)

Beschrijving: retourneert een subtekenreeks van de bronwaarde. Een subtekenreeks is een tekenreeks die slechts een deel van de tekens van de brontekenreeks bevat.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Gewoonlijk de naam van het kenmerk.
start Vereist Geheel getal Index in de bron-tekenreeks waar de subtekenreeks moet beginnen. Het eerste teken in de tekenreeks heeft een index van 1, het tweede teken heeft een index 2, enzovoort.
length Vereist Geheel getal Lengte van de subtekenreeks. Als de lengte buiten de brontekenreeks eindigt, retourneert de functie de subtekenreeks van de beginindex tot het einde van de brontekenreeks.

NormalizeDiacritics

Functie: NormalizeDiacritics(bron)

Beschrijving: vereist één tekenreeksargument. Retourneert de tekenreeks, maar door diakritische tekens vervangen door gelijkwaardige niet-diakritische tekens. Gewoonlijk gebruikt om voor- en achternamen met diakritische tekens (accenten) te converteren naar geldige waarden die kunnen worden gebruikt in verschillende gebruikers-id's, zoals user principal names, SAM-accountnamen en e-mailadressen.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Gewoonlijk een voor- of achternaamkenmerk.
Teken met diakritisch teken Genormaliseerd teken Teken met diakritisch teken Genormaliseerd teken
ä, à, â, ã, å, á, ą, ă, ā, ā́, ā̀, ā̂, ā̃, ǟ, ā̈, ǡ, a̱, å̄ a Ä, À, Â, Ã, Å, Á, Ą, Ă, Ā, Ā́, Ā̀, Ā̂, Ā̃, Ǟ, Ā̈, Ǡ, A̱, Å̄ A
æ, ǣ ae Æ, Ǣ AE
ç, č, ć, c̄, c̱ c Ç, Č, Ć, C̄, C̱ E
ď, d̄, ḏ d Ď, D̄, Ḏ D
ë, è, é, ê, ę, ě, ė, ē, ḗ, ḕ, ē̂, ē̃, ê̄, e̱, ë̄, e̊̄ e Ë, È, É, Ê, Ę, Ě, Ė, Ē, Ḗ, Ḕ, Ē̂, Ē̃, Ê̄, E̱, Ë̄, E̊̄ E
ğ, ḡ, g̱ g Ğ, Ḡ, G̱ G
ï, î, ì, í, ı, ī, ī́, ī̀, ī̂, ī̃, i̱ Ik Ï, Î, Ì, Í, İ, Ī, Ī́, Ī̀, Ī̂, Ī̃, I̱ I
ľ, ł, l̄, ḹ, ḻ l Ł, Ľ, L̄, Ḹ, Ḻ L
ñ, ń, ň, n̄, ṉ n Ñ, Ń, Ň, N̄, Ṉ N
ö, ò, ő, õ, ô, ó, ō, ṓ, ṑ, ō̂, ō̃, ȫ, ō̈, ǭ, ȭ, ȱ, o̱ o Ö, Ò, Ő, Õ, Ô, Ó, Ō, Ṓ, Ṑ, Ō̂, Ō̃, Ȫ, Ō̈, Ǭ, Ȭ, Ȱ, O̱ O
ø, ø̄, œ̄ oe Ø, Ø̄, Œ̄ OE
ř, r̄, ṟ, ṝ r Ř, R̄, Ṟ, Ṝ R
ß ss
š, ś, ș, ş, s̄, s̱ s Š, Ś, Ș, Ş, S̄, S̱ S
ť, ț, t̄, ṯ h Ť, Ț, T̄, Ṯ T
ü, ù, û, ú, ů, ű, ū, ū́, ū̀, ū̂, ū̃, u̇̄, ǖ, ṻ, ṳ̄, u̱ u Ü, Ù, Û, Ú, Ů, Ű, Ū, Ū́, Ū̀, Ū̂, Ū̃, U̇̄, Ǖ, Ṻ, Ṳ̄, U̱ U
ÿ, ý, ȳ, ȳ́, ȳ̀, ȳ̃, y̱ y Ÿ, Ý, Ȳ, Ȳ́, Ȳ̀, Ȳ̃, Y̱ J
ź, ž, ż, z̄, ẕ z Ź, Ž, Ż, Z̄, Ẕ Z

Diakritische tekens verwijderen uit een tekenreeks

Voorbeeld: tekens met accenten vervangen door gelijkwaardige tekens zonder accenten.

Expressie: NormalizeDiacritics([voornaam])

Voorbeeldinvoer/-uitvoer:

  • INVOER (voornaam): "Zoë"
  • UITVOER: "Zoe"

Not

Functie: Not(bron)

Beschrijving: hiermee wordt de booleaanse waarde van de bron gespiegeld. Als de bron-waarde Waar is, wordt Onwaar geretourneerd. Anders wordt Waar geretourneerd.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist Booleaanse tekenreeks Verwachte bron-waarden zijn 'Waar' of 'Onwaar'.

Nu

Functie: Now()

Beschrijving:
De functie Now retourneert een tekenreeks die de huidige UTC-datum/tijd representeert in de notatie M/d/jjjj u:mm:ss tt.

Voorbeeld:Now()
Voorbeeld van retourwaarde 7/2/2021 3:33:38 PM


NumFromDate

Functie: NumFromDate(waarde)

Beschrijving: de functie NumFromDate converteert een DateTime-waarde naar Active Directory-notatie die is vereist voor het instellen van kenmerken zoals accountExpires. Gebruik deze functie om DateTime-waarden ontvangen van HR-cloudapps, zoals Workday en SuccessFactors, te converteren naar hun equivalente AD-representatie.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
value Vereist String Datum/tijdtekenreeks in ISO 8601-indeling . Als de datumvariabele een andere indeling heeft, gebruikt u de functie FormatDateTime om de datum te converteren naar de ISO 8601-indeling.

Voorbeeld:

  • Workday-voorbeeld ervan uitgaande dat u het kenmerk ContractEndDate van Workday wilt toewijzen. Dit heeft de indeling 2020-12-31-08:00 aanhet veld AccountExpires in AD. U kunt deze functie als volgt gebruiken en de tijdzoneverschil wijzigen zodat deze overeenkomt met uw landinstelling. NumFromDate(Join("", FormatDateTime([ContractEndDate], ,"yyyy-MM-ddzzz", "yyyy-MM-dd"), " 23:59:59-08:00"))

  • Voorbeeld van SuccessFactors Ervan uitgaande dat u het kenmerk endDate van SuccessFactors wilt toewijzen. Dit heeft de notatie M/d/jjjj uu:mm:ss tt naar het veld AccountExpires in AD. U kunt deze functie als volgt gebruiken en de tijdzone-offset wijzigen zodat deze overeenkomt met uw landinstelling. NumFromDate(Join("",FormatDateTime([endDate], ,"M/d/yyyy hh:mm:ss tt","yyyy-MM-dd")," 23:59:59-08:00"))


PCase

Functie: PCase(bron, woordscheidingstekens)

Beschrijving: de functie PCase converteert het eerste teken van elk woord in een tekenreeks naar een hoofdletter en alle andere tekens worden geconverteerd naar kleine letters.

Parameters:

Naam Vereist/Optioneel Type Opmerkingen
bron Vereist String bron-waarde om te converteren naar het juiste hoofdlettergebruik.
woordscheidingstekens Optioneel String Geef een set tekens op die wordt gebruikt als scheidingstekens voor woorden (bijvoorbeeld: ',-')

Opmerkingen:

  • Als de parameter wordSeparators niet is opgegeven, roept PCase intern de .NET-functie ToTitleCase aan om de brontekenreeks te converteren naar het juiste hoofdlettergebruik. De .NET-functie ToTitleCase ondersteunt een uitgebreide set Unicode-tekencategorieën als woordscheidingstekens.
    • Spatie
    • Teken voor nieuwe regel
    • Besturingstekens zoals CRLF
    • Opmaakbesturingstekens
    • Koppelinterpunctie-tekens zoals het onderstrepingsteken
    • Streepinterpunctie, zoals streepje en afbreekstreepje (inclusief tekens zoals en-streepje, em-streepje, dubbel afbreekstreepje, enzovoort)
    • Open en gesloten interpunctietekens die voorkomen in paren zoals haakjes, accolades, punthaakjes, enzovoort.
    • Aanhalingstekens openen en sluiten, zoals enkele aanhalingstekens, dubbele aanhalingstekens en guillemets.
    • Overige interpunctietekens zoals uitroepteken, cijferteken, procentteken, ampersand, asterisk, komma, punt, dubbele punt, puntkomma, enzovoort.
    • Wiskundige symbolen zoals plusteken, kleiner-dan- en groter-dan-teken, verticale lijn, tilde, gelijkteken, enzovoort.
    • Valutasymbolen zoals dollarteken, centteken, pondteken, euroteken, enzovoort.
    • Modificatorsymbolen zoals macron, accenten, pijlkoppen, enzovoort.
    • Overige symbolen zoals copyrightteken, gradenteken, geregistreerd-teken, enzovoort.
  • Als de parameter woordscheidingstekens is opgegeven, gebruikt PCase alleen de opgegeven tekens als woordscheidingstekens.

Voorbeeld:

Stel dat u de kenmerken firstName en lastName van SAP SuccessFactors en in HR wilt ophalen. Beide kenmerken staan in hoofdletters. Met behulp van de functie PCase kunt u de naam converteren naar het juiste hoofdlettergebruik, zoals hieronder wordt weergegeven.

Expressie Invoer Uitvoer Opmerkingen
PCase([firstName]) firstName = "PABLO GONSALVES (SECOND)" "Pablo Gonsalves (Second)" Omdat de parameter wordSeparators niet is opgegeven, gebruikt de functie PCase de standaardtekenset voor woordscheidingstekens.
PCase([lastName]," '-") lastName = "PINTO-DE'SILVA" "Pinto-De'Silva" De functie PCase gebruikt tekens in de parameter woordscheidingstekens om woorden te identificeren en het juiste hoofdlettergebruik toe te passen.
PCase(Join(" ",[firstName],[lastName])) firstName = GREGORY, lastName = "JAMES" "Gregory James" U kunt de functie Join nesten in PCase. Omdat de parameter wordSeparators niet is opgegeven, gebruikt de functie PCase de standaardtekenset voor woordscheidingstekens.

RandomString

Functie: RandomString(Lengte, MinimumNumbers, MinimumSpecialCharacters, MinimumCapital, MinimumLowerCase, CharactersToAvoid)

Beschrijving: de functie RandomString genereert een willekeurige tekenreeks op basis van de opgegeven voorwaarden. Toegestane tekens kunnen hier worden geïdentificeerd.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Lengte Vereist Aantal Totale lengte van de willekeurige tekenreeks. Deze moet groter dan of gelijk aan de som van minimumCijfers, minimumSpecialeTekens en minimumHoofdletters zijn. Maximaal 256 tekens.
minimumCijfers Vereist Aantal Minimumaantal cijfers in de willekeurige tekenreeks.
minimumSpecialeTekens Vereist Aantal Minimumaantal speciale tekens in de willekeurige tekenreeks.
minimumHoofdletters Vereist Aantal Minimumaantal hoofdletters in de willekeurige tekenreeks.
minimumKleineLetters Vereist Aantal Minimumaanal kleine letters in de willekeurige tekenreeks.
teVermijdenTekens Optioneel String Tekens om niet te gebruiken bij het genereren van de willekeurige tekenreeks.

Voorbeeld 1: - Een willekeurige tekenreeks genereren zonder speciale tekenbeperkingen: RandomString(6,3,0,0,3) Genereert een willekeurige tekenreeks met 6 tekens. De tekenreeks bevat 3 cijfers en 3 kleine letters (1a73qt).

Voorbeeld 2: - Een willekeurige tekenreeks genereren met speciale tekenbeperkingen: RandomString(10,2,2,2,1,"?,") Genereert een willekeurige tekenreeks met 10 tekens. De tekenreeks bevat ten minste 2 cijfers, 2 speciale tekens, 2 hoofdletters, 1 kleine letter en sluit de tekens '?' en ',' uit (1@!2BaRg53).


Redact

Functie: Redact()

Beschrijving: de functie Redact vervangt de kenmerkwaarde door de letterlijke tekenreeks '[Redact]' in de inrichtingslogboeken.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
kenmerk/waarde Vereist String Geef het kenmerk of de constante/tekenreeks op die u uit de logboeken wilt redigeren.

Voorbeeld 1: Een kenmerk opnieuw uitvoeren: Redact([userPrincipalName]) Verwijdert de userPrincipalName uit de inrichtingslogboeken.

Voorbeeld 2: Een tekenreeks opnieuw uitvoeren: Redact("StringToBeRedacted") Verwijdert een constante tekenreeks uit de inrichtingslogboeken.

Voorbeeld 3: Een willekeurige tekenreeks redact: Redact(RandomString(6,3,0,0,3)) Verwijdert de willekeurige tekenreeks uit de inrichtingslogboeken.


RemoveDuplicates

Functie: RemoveDuplicates(kenmerk)

Beschrijving: de functie RemoveDuplicates accepteert een tekenreeks met meerdere waarden en controleert of elke waarde uniek is.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
kenmerk Vereist Kenmerk met meerdere waarden Kenmerk met meerdere waarden met dubbele waarden verwijderd

Voorbeeld:RemoveDuplicates([proxyAddresses]) retourneert een opgeschoond proxyAddress-kenmerk waarbij alle dubbele waarden worden verwijderd.


Replace

Functie: Replace(bron, oudeWaarde, regexPatroon, regexGroepsnaam, vervangendeWaarde, naamVervangendKenmerk, sjabloon)

Beschrijving: vervangt waarden in een tekenreeks op een hoofdlettergevoelige manier. De functie gedraagt zich anders afhankelijk van de opgegeven parameters:

  • Wanneer oudeWaarde en vervangendeWaarde worden opgegeven:

    • Vervangt alle exemplaren van oudeWaarde in de bron door vervangendeWaarde
  • Wanneer oudeWaarde en sjabloon worden opgegeven:

    • Vervangt alle exemplaren van oudeWaarde in het sjabloon door de bron-waarde
  • Wanneer regexPatroon en vervangendeWaarde worden opgegeven:

    • De functie past het regexPatroon toe op de bron-tekenreeks en u kunt de regexgroepsnamen gebruiken om de tekenreeks te construeren voor vervangendeWaarde

Notitie

Zie Groeperingsconstructies in reguliere expressies voor meer informatie over regexgroeperingsconstructies en benoemde subexpressies.

  • Wanneer regexPatroon, regexGroepsnaam en vervangendeWaarde worden opgegeven:

    • De functie past het regexPatroon toe op de bron-tekenreeks en vervangt alle waarden die overeenkomen met regexGroepsnaam door vervangendeWaarde
  • Wanneer regexPatroon, regexGroepsnaam en naamVervangendKenmerk worden opgegeven:

    • Als bron een waarde heeft, wordt bron geretourneerd
    • Als bron geen waarde heeft, past de functie regexPatroon toe op de naamVervangendKenmerk en retourneert de waarde die overeenkomt met regexGroepsnaam

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Gewoonlijk de naam van het kenmerk van het bron-object.
oudeWaarde Optioneel String Waarde die moet worden vervangen in bron of sjabloon.
regexPatroon Optioneel String Regexpatroon voor de waarde die moet worden vervangen in bron. Wanneer naamVervangendKenmerk wordt gebruikt, wordt het regexPatroon toegepast om een waarde op te halen uit naamVervangendKenmerk.
regexGroepsnaam Optioneel String Naam van de groep in regexPatroon. Wanneer de benoemde replacementAttributeName wordt gebruikt, halen we de waarde van de benoemde regex-groep op uit de replacementAttributeName en retourneren we deze als de vervangingswaarde.
vervangendeWaarde Optioneel String Nieuwe waarde om de oude door vervangen.
naamVervangendKenmerk Optioneel String Naam van het kenmerk dat moet worden gebruikt als vervangende waarde
sjabloon Optioneel String Wanneer de sjabloonwaarde is opgegeven, zoeken we naar oldValue in de sjabloon en vervangen door de bronwaarde .

Tekens vervangen met een reguliere expressie

Voorbeeld 1:oudeWaarde en vervangendeWaarde gebruiken om de hele brontekenreeks te vervangen door een andere tekenreeks.

Stel dat uw HR-systeem een kenmerk BusinessTitle heeft. Als onderdeel van recente wijzigingen in functietitels wil uw bedrijf iedereen met de titel 'Product Developer' bijwerken naar 'Software Engineer'. In dat geval kunt u de volgende expressie gebruiken in de kenmerktoewijzing.

Replace([BusinessTitle],"Product Developer", , , "Software Engineer", , )

  • bron: [BusinessTitle]
  • oudeWaarde: "Product Developer"
  • vervangendeWaarde: "Software Engineer"
  • Expressie-uitvoer: Software Engineer

Voorbeeld 2:oudeWaarde en sjabloon gebruiken om de brontekenreeks in te voegen in een andere gesjabloniseerde tekenreeks.

De parameter oudeWaarde is een onjuiste naam in dit scenario. Het is eigenlijk de waarde die wordt vervangen.
Stel dat u altijd aanmeldings-id wilt genereren in de indeling <username>@contoso.com. Er is een bronkenmerk met de naam UserID en u wilt dat deze waarde wordt gebruikt voor het <username> gedeelte van de aanmeldings-id. In dat geval kunt u de volgende expressie gebruiken in de kenmerktoewijzing.

Replace([UserID],"<username>", , , , , "<username>@contoso.com")

  • bron:[UserID] = "jsmith"
  • oudeWaarde: "<username>"
  • sjabloon: "<username>@contoso.com"
  • Expressie-uitvoer: "jsmith@contoso.com"

Voorbeeld 3:regexPatroon en vervangendeWaarde gebruiken om een deel van de brontekenreeks te extraheren en te vervangen door een lege tekenreeks of een aangepaste waarde die is opgebouwd met behulp van regexpatronen of regexgroepsnamen.

Stel dat u een bronkenmerk telephoneNumber hebt met de onderdelen country code en phone number gescheiden door een spatieteken. In dit geval kunt u bijvoorbeeld +91 9998887777 de volgende expressie in uw kenmerktoewijzing gebruiken om het 10-cijferige telefoonnummer op te halen.

Replace([telephoneNumber], , "\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})", , "${phoneNumber}", , )

  • bron:[telephoneNumber] = "+91 9998887777"
  • regexPatroon: "\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})"
  • vervangendeWaarde: "${phoneNumber}"
  • Expression-uitvoer: 9998887777

U kunt dit patroon ook gebruiken om tekens te verwijderen en een tekenreeks samen te vouwen. De onderstaande expressie verwijdert bijvoorbeeld haakjes, streepjes en spatietekens in tekenreeksen met mobiele nummers en retourneert alleen cijfers.

Replace([mobile], , "[()\\s-]+", , "", , )

  • source:[mobile] = "+1 (999) 888-7777"
  • regexPatroon: "[()\\s-]+"
  • vervangendeWaarde: "" (lege tekenreeks)
  • Expression-uitvoer: 19998887777

Voorbeeld 4:regexPatroon, regexGroepsnaam en vervangendeWaarde gebruiken om een deel van de brontekenreeks te extraheren en te vervangen door een andere letterlijke waarde of lege tekenreeks.

Stel dat uw bronsysteem een kenmerk AddressLineData heeft met de twee onderdelen straatnaam en huisnummer. Als onderdeel van een recente verplaatsing, laten we zeggen dat het straatnummer van het adres is gewijzigd en u alleen het nummer van het straatnummer van de adresregel wilt bijwerken. In dat geval kunt u de volgende expressie gebruiken in uw kenmerktoewijzing om het huisnummer op te halen.

Replace([AddressLineData], ,"(?<streetNumber>^\\d*)","streetNumber", "888", , )

  • bron:[AddressLineData] = "545 Tremont Street"
  • regexPatroon: "(?<streetNumber>^\\d*)"
  • regexGroepsnaam: "streetNumber"
  • vervangendeWaarde: "888"
  • Expressie-uitvoer: 888 Tremont Street

Hier volgt een ander voorbeeld waarbij het domeinachtervoegsel van een UPN wordt vervangen door een lege tekenreeks om aanmeldings-id te genereren zonder domeinachtervoegsel.

Replace([userPrincipalName], , "(?<Suffix>@(.)*)", "Suffix", "", , )

  • bron:[userPrincipalName] = "jsmith@contoso.com"
  • regexPatroon: "(?<Suffix>@(.)*)"
  • regexGroepsnaam: "Suffix"
  • vervangendeWaarde: "" (lege tekenreeks)
  • Expressie-uitvoer: jsmith

Voorbeeld 5:regexPatroon, regexGroepsnaam en naamVervangendKenmerk gebruiken om scenario's af te handelen waarin het bronkenmerk leeg is of geen waarde heeft.

Stel dat uw bronsysteem een kenmerk telephoneNumber heeft. Als telephoneNumber leeg is, wilt u de 10 cijfers van het kenmerk mobileNumber extraheren. In dat geval kunt u de volgende expressie gebruiken in de kenmerktoewijzing.

Replace([telephoneNumber], , "\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})", "phoneNumber" , , [mobile], )

  • bron:[telephoneNumber] = "" (lege tekenreeks)
  • regexPatroon: "\\+(?<isdCode>\\d* )(?<phoneNumber>\\d{10})"
  • regexGroepsnaam: "phoneNumber"
  • naamVervangendKenmerk:[mobile] = "+91 8887779999"
  • Expression-uitvoer: 8887779999

Voorbeeld 6: u moet tekens zoeken die overeenkomen met de waarde van een reguliere expressie en deze verwijderen.

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

  • bron [mailNickname]
  • oudeWaarde: "john_doe72"
  • vervangendeWaarde: ""
  • Expressie-uitvoer: 72

SelectUniqueValue

Functie: SelectUniqueValue(uniekeWaardeRegel1, uniekeWaardeRegel2, uniekeWaardeRegel3, ...)

Beschrijving: vereist minimaal twee argumenten. Dit zijn regels voor het genereren van unieke waarden die zijn gedefinieerd met behulp van expressies. De functie evalueert elke regel en controleert vervolgens de gegenereerde waarde op uniekheid in de doel-app/-directory. De eerste unieke waarde die wordt gevonden, is de waarde die wordt geretourneerd. Als alle waarden al in het doel aanwezig zijn, wordt de vermelding ge borgd en wordt de reden vastgelegd in de auditlogboeken. Er is geen bovengrens aan het aantal argumenten dat kan worden opgegeven.

  • Deze functie moet zich op het hoogste niveau bevinden en kan niet worden genest.
  • Deze functie kan niet worden toegepast op kenmerken met gelijke prioriteit.
  • Deze functie is alleen bedoeld voor het maken van vermeldingen. Als de functie wordt gebruikt met een kenmerk, stel dan de eigenschap Toewijzing toepassen in op Alleen tijdens het maken van een object.
  • Deze functie wordt momenteel alleen ondersteund voor gebruikersinrichting van Workday naar Active Directory en gebruikersinrichting van SuccessFactors naar Active Directory. De functie kan niet worden gebruikt voor andere inrichtingstoepassingen.
  • De LDAP-zoekfunctie die de functie SelectUniqueValue uitvoert in on-premises Active Directory, escapet geen speciale tekens, zoals diakritische tekens. Als u een tekenreeks doorgeeft met een speciaal teken erin, zoals 'Jéssica Smith', krijgt u verwerkingsfouten. Nest de functie NormalizeDiacritics , zoals wordt weergegeven in het onderstaande voorbeeld om speciale tekens te normaliseren.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
uniekeWaardeRegel1 … uniekeWaardeRegelN Ten minste 2 zijn vereist, geen bovengrens String Lijst van te evalueren regels voor het genereren van unieke waarden.

Unieke waarde genereren voor het kenmerk userPrincipalName (UPN)

Voorbeeld: op basis van de voornaam, tweede naam en achternaam van de gebruiker moet u een waarde voor het UPN-kenmerk genereren en controleren of deze uniek is in de AD-doeldirectory voordat u de waarde toewijst aan het UPN-kenmerk.

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

Voorbeeldinvoer/-uitvoer:

  • INVOER (PreferredFirstName): "John"
  • INVOER (PreferredLastName): "Smith"
  • UITVOER: "John.Smith@contoso.com" als de UPN-waarde John.Smith@contoso.com nog niet bestaat in de directory
  • UITVOER: "J.Smith@contoso.com" als de UPN-waarde John.Smith@contoso.com al bestaat in de directory
  • UITVOER: "Jo.Smith@contoso.com" als de twee bovenstaande UPN-waarden al bestaan in de directory

SingleAppRoleAssignment

Functie: SingleAppRoleAssignment([appRolToewijzingen])

Beschrijving: retourneert één appRolToewijzing uit de lijst van alle appRolToewijzingen die zijn toegewezen aan een gebruiker voor een bepaalde toepassing. Deze functie is vereist om het approltoewijzingenobject te converteren naar één rolnaamtekenreeks. De aanbevolen procedure is ervoor te zorgen dat slechts één approltoewijzing aan één gebruiker wordt toegewezen per keer. Deze functie wordt niet ondersteund in scenario's waarin gebruikers meerdere app-roltoewijzingen hebben.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
[appRoleAssignments] Vereist String [appRoleAssignments]-object.

Split

Functie: Split(bron, scheidingsteken)

Beschrijving: splitst een tekenreeks in een matrix met meerdere waarden, met behulp van het opgegeven scheidingsteken.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String bron-waarde die moet worden bijgewerkt.
scheidingsteken Vereist String Geeft het teken aan dat moet worden gebruikt om de tekenreeks te splitsen (bijvoorbeeld: ",")

Een tekenreeks splitsen in een matrix met meerdere waarden

Voorbeeld: u moet een door komma's gescheiden lijst van tekenreeksen nemen en deze splitsen in een matrix die kan worden gekoppeld aan een kenmerk met meerdere waarden, zoals het kenmerk PermissionSets van Salesforce. In dit voorbeeld is een lijst met machtigingensets ingevuld in extensionAttribute5 in Microsoft Entra-id.

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

Voorbeeldinvoer/-uitvoer:

  • INVOER (extensionAttribute5): "MachtigingenSetEen, MachtigingenSetTwee"
  • UITVOER: ["MachtigingenSetEen", "MachtigingenSetTwee"]

StripSpaces

Functie: StripSpaces(bron)

Beschrijving: hiermee verwijdert u alle spaties (' ') uit de brontekenreeks.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String bron-waarde die moet worden bijgewerkt.

Switch

Functie: Switch(bron, standaardwaarde, sleutel1, waarde1, sleutel2, waarde2, ...)

Beschrijving: wanneer de bron-waarde overeenkomt met een sleutel, wordt de waarde voor die sleutel geretourneerd. Als de bron-waarde niet overeenkomt met een van de sleutels, wordt de standaardwaarde geretourneerd. Sleutel- en waarde-parameters moeten altijd in paren worden opgegeven. De functie verwacht altijd een even aantal parameters. De functie mag niet worden gebruikt voor referentiële kenmerken zoals manager.

Notitie

De functie Switch voert een hoofdlettergevoelige tekenreeksvergelijking uit van de bron- en sleutel-waarden. Als u een hoofdletterongevoelige vergelijking wilt uitvoeren, normaliseer dan de bron-tekenreeks voordat u de vergelijking uitvoert met behulp van een geneste ToLower-functie om ervoor te zorgen dat alle sleutel-tekenreeksen kleine letters gebruiken. Voorbeeld: Switch(ToLower([statusFlag]), "0", "true", "1", "false", "0"). In dit voorbeeld kan het bron-kenmerk statusFlag de waarden ('Waar' / 'waar' / 'WAAR') bevatten. De functie Switch converteert deze echter altijd naar 'waar' in kleine letters voordat de vergelijking met sleutel-parameters wordt uitgevoerd.

Let op

Gebruik voor de bronparameter niet de geneste functies IsPresent, IsNull of IsNullOrEmpty. Gebruik in plaats daarvan een letterlijke lege tekenreeks als een van de sleutelwaarden.
Voorbeeld: Switch([statusFlag], "Default Value", "true", "1", "", "0"). Als in dit voorbeeld het bronkenmerk statusFlag leeg is, retourneert de functie Switch de waarde 0.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String bron-waarde die moet worden bijgewerkt.
standaardwaarde Optioneel String De te gebruiken standaardwaarde wanneer de bron niet overeenkomt met een van de sleutels. Mag een lege tekenreeks ("") zijn.
key Vereist String Sleutel om de bron-waarde mee te vergelijken.
value Vereist String Vervangingswaarde voor de bron behorende bij de sleutel.

Een waarde vervangen op basis van een vooraf gedefinieerde set opties

Voorbeeld: Definieer de tijdzone van de gebruiker op basis van de statuscode die is opgeslagen in Microsoft Entra-id. Als de statuscode niet overeenkomt met een van de vooraf gedefinieerde opties, moet de standaardwaarde 'Australië/Sydney' worden gebruikt.

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

Voorbeeldinvoer/-uitvoer:

  • INVOER (staat): "QLD"
  • UITVOER: "Australië/Brisbane"

ToLower

Functie: ToLower(bron, cultuur)

Beschrijving: neemt een bron-tekenreeks en converteert deze naar kleine letters met behulp van de opgegeven cultuurregels. Als er geen cultuur-informatie is opgegeven, wordt de cultuur Invariant gebruikt.

Als u bestaande waarden in het doelsysteem wilt instellen op kleine letters, werkt u het schema voor uw doeltoepassing bij en stelt u de eigenschap caseExact in op 'true' voor het kenmerk waarin u geïnteresseerd bent.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Gewoonlijk de naam van het kenmerk van het bronobject.
cultuur Optioneel String De notatie van de cultuurnaam op basis van RFC 4646 is taalcode2-land/regiocode2, waarbij languagecode2 de tweeletterige taalcode is en land/regiocode2 de tweeletterige subcultuurcode is. Voorbeelden zijn ja-JP voor Japans (Japan) en en-US voor Engels (Verenigde Staten). In gevallen waarin er geen tweeletterige taalcode beschikbaar is, wordt een code van drie letters gebruikt die is afgeleid van ISO 639-2.

Gegenereerde UPN-waarde (userPrincipalName) converteren naar kleine letters

Voorbeeld: u wilt de UPN-waarde genereren door de bronvelden PreferredFirstName en PreferredLastName samen te voegen en alle tekens te converteren naar kleine letters.

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

Voorbeeldinvoer/-uitvoer:

  • INVOER (PreferredFirstName): "John"
  • INVOER (PreferredLastName): "Smith"
  • UITVOER: "john.smith@contoso.com"

ToUpper

Functie: ToUpper(bron, cultuur)

Beschrijving: neemt een bron-tekenreeks en converteert deze naar hoofdletters met behulp van de opgegeven cultuurregels. Als er geen cultuur-informatie is opgegeven, wordt de cultuur Invariant gebruikt.

Als u bestaande waarden in het doelsysteem wilt instellen op hoofdletters, werkt u het schema voor uw doeltoepassing bij en stelt u de eigenschap caseExact in op 'true' voor het kenmerk waarin u geïnteresseerd bent.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
bron Vereist String Gewoonlijk de naam van het kenmerk van het bron-object.
cultuur Optioneel String De notatie van de cultuurnaam op basis van RFC 4646 is taalcode2-land/regiocode2, waarbij languagecode2 de tweeletterige taalcode is en land/regiocode2 de tweeletterige subcultuurcode is. Voorbeelden zijn ja-JP voor Japans (Japan) en en-US voor Engels (Verenigde Staten). In gevallen waarin er geen tweeletterige taalcode beschikbaar is, wordt een code van drie letters gebruikt die is afgeleid van ISO 639-2.

Word

Functie: Word(tekenreeks, woordnummer, scheidingstekens)

Beschrijving: de functie Word retourneert een woord in een tekenreeks op basis van parameters die de scheidingstekens beschrijven die moeten worden gebruikt en het woordnummer dat moet worden geretourneerd. Elke tekenreeks in tekenreeks, gescheiden door een van de tekens in scheidingstekens, wordt aangeduid als een woord:

Als getal < 1, retourneer lege string. Als tekenreeks null is, retourneer lege tekenreeks. Als tekenreeks minder dan numerieke woorden bevat of als een tekenreeks geen woorden bevat die worden geïdentificeerd door scheidingstekens, wordt een lege tekenreeks geretourneerd.

Parameters:

Naam Vereist/herhalend Type Opmerkingen
Tekenreeks Vereist Kenmerk met meerdere waarden Tekenreeks om een woord uit te retourneren.
woordnummer Vereist Geheel getal Nummer dat aangeeft welk woord moet worden geretourneerd
scheidingstekens Vereist String Een tekenreeks die de scheidingstekens representeert die moeten worden gebruikt om woorden te identificeren

Voorbeeld:Word("The quick brown fox",3," ")

Retourneert 'brown'.

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

Retourneert 'has'.


Voorbeelden

Deze sectie bevat meer voorbeelden van het gebruik van expressiefuncties.

Bekende domeinnaam strippen

Strip een bekende domeinnaam uit het e-mailadres van een gebruiker om een gebruikersnaam te verkrijgen. Als het domein bijvoorbeeld 'contoso.com' is, kunt u de volgende expressie gebruiken:

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

Voorbeeldinvoer/-uitvoer:

  • INPUT (e-mail): "john.doe@contoso.com"
  • UITVOER: "john.doe"

Gebruikersalias genereren door delen van voor- en achternaam samen te voegen

Genereer een gebruikersalias door de eerste drie letters van de voornaam van de gebruiker en de eerste vijf letters van de achternaam van de gebruiker te nemen.

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

Voorbeeldinvoer/-uitvoer:

  • INVOER (givenName): "John"
  • INVOER (surname): "Doe"
  • UITVOER: "JohDoe"

Voeg een komma toe tussen achternaam en voornaam.

Voeg een komma toe tussen achternaam en voornaam.

Expression:Join(", ", "", [surname], [givenName])

Voorbeeldinvoer/-uitvoer:

  • INVOER (givenName): "John"
  • INVOER (surname): "Doe"
  • UITVOER: "Doe, John"

Genereer een id voor een gebruiker op basis van de object-id-id van Microsoft Entra. Verwijder alle letters uit de id en voeg 1000 toe aan het begin.

Met deze expressie kunt u een id genereren voor een gebruiker die begint met 1000 en waarschijnlijk uniek is.

Expressie: Join("", 1000, Replace(ConvertToUTF8Hex([objectId]), "[a-zA-Z_]*", "", "", , ))

Voorbeeldinvoer/-uitvoer:

  • INVOER: "d05e47b1-3909-445a-ba5e-ca60cbc0e4b4"
  • UITVOER: "100064303565343762312333930392343435612626135652636136306362633065346234"