Partager via


Écriture d'expressions pour les mappages d'attributs dans Microsoft Entra ID

Lors de la configuration de la synchronisation cloud, parmi les types de mappages d’attributs que l’on peut spécifier figure le mappage d’expression.

Le mappage d’expression vous permet de personnaliser des attributs à l’aide d’une expression de type script. Cela vous permet de transformer les données locales en une valeur nouvelle ou différente. Par exemple, vous pouvez combiner deux attributs en un seul parce que cet attribut unique est utilisé par l’une de vos applications cloud.

Le document suivant couvre les expressions de type script utilisées pour transformer les données. Cela ne constitue qu’une partie du processus. Ensuite, vous devez utiliser cette expression et la placer dans une requête web adressée à votre locataire. Pour plus d’informations, consultez Transformations.

Vue d’ensemble de la syntaxe

La syntaxe des expressions pour les mappages d’attributs rappelle celle des fonctions Visual Basic pour Applications (VBA).

  • L’expression entière doit être définie en termes de fonctions, qui sont constituées d’un nom suivi d’arguments entre parenthèses :
    FunctionName(<<argument 1>>,<<argument N>>)

  • Vous pouvez imbriquer des fonctions dans d’autres. Par exemple :
    FunctionOne(FunctionTwo(<<argument1>>))

  • Vous pouvez passer trois différents types d’arguments dans des fonctions :

    1. Des attributs, qui doivent être placés entre crochets. Par exemple : [nom_attribut]
    2. Des constantes de chaîne, qui doivent être placées entre des guillemets doubles. Par exemple : « États-Unis »
    3. D’autres fonctions. Par exemple : FunctionOne(<<argument1>>, FunctionTwo(<<argument2>>))
  • Pour les constantes de chaîne, si vous avez besoin d’une barre oblique inverse (\) ou d’un guillemet (") dans la chaîne, vous devez le faire précéder du symbole de barre oblique inverse (\). Par exemple : « Nom de la société : \"Contoso\"" »

Liste des fonctions

Liste des fonctions Description
Append prend une valeur de chaîne source et ajoute le suffixe à la fin de celle-ci.
BitAnd la fonction BitAnd définit des bits spécifiés sur une valeur.
CBool La fonction CBool renvoie une valeur booléenne basée sur l’expression évaluée.
ConvertFromBase64 La fonction ConvertFromBase64 convertit la valeur encodée en base64 en chaîne régulière.
ConvertToBase64 La fonction ConvertToBase64 convertit une chaîne en chaîne Unicode base64.
ConvertToUTF8Hex La fonction ConvertToUTF8Hex convertit une chaîne en valeur hexadécimale encodée UTF8.
Count La fonction Count renvoie le nombre d’éléments dans un attribut à valeurs multiples.
Cstr La fonction CStr convertit en un type de données de chaîne.
DateFromNum La fonction DateFromNum convertit une valeur au format de date AD en un type DateTime.
DNComponent La fonction DNComponent renvoie la valeur d’un composant de nom de domaine spécifié en partant de la gauche.
Error La fonction Error sert à renvoyer une erreur personnalisée.
FormatDateTime prend une chaîne de date dans un format et la convertit dans un autre format.
GUID La fonction Guid génère un nouveau GUID aléatoire.
IIF La fonction IIF renvoie une valeur parmi un ensemble de valeurs possibles en fonction d’une condition spécifiée.
InStr La fonction InStr recherche la première occurrence d’une sous-chaîne dans une chaîne.
IsNull La fonction IsNull renvoie true si l’expression correspond à la valeur Null.
IsNullOrEmpty La fonction IsNullOrEmpty renvoie la valeur true si l’expression a pour valeur Null ou s’il s’agit d’une chaîne vide.
IsPresent La fonction IsPresent renvoie true si l’expression correspond à une chaîne qui n’a pas la valeur Null et n’est pas vide.
IsString La fonction IsString prend la valeur True si l’expression peut être évaluée en tant que type de chaîne.
Item La fonction Item renvoie un élément à partir d’une chaîne/d’un attribut à valeurs multiples.
Join Join() est similaire à Append(), mais elle peut combiner plusieurs valeurs de chaîne sources dans une même chaîne et chaque valeur sera séparée par une chaîne de séparation.
Left La fonction Left renvoie un nombre spécifié de caractères en partant de la gauche d’une chaîne.
Mid retourne une sous-chaîne de la valeur source. Une sous-chaîne est une chaîne qui ne contient que certains des caractères de la chaîne source.
NormalizeDiacritics Nécessite un argument de chaîne. Retourne la chaîne, où les caractères diacritiques ont été remplacés par leurs équivalents non diacritiques.
Not inverse la valeur booléenne de la source. Si la valeur source est « True », cette fonction retourne «False ». Sinon, elle retourne «True».
RemoveDuplicates La fonction RemoveDuplicates prend une chaîne à valeurs multiples et vérifie que chaque valeur est unique.
Replace Remplace les valeurs dans une chaîne.
SelectUniqueValue Nécessite un minimum de deux arguments, qui sont définis à l’aide d’expressions de règles de génération de valeur unique. La fonction évalue chaque règle, puis vérifie la valeur générée pour l’unicité dans le répertoire/application cible.
SingleAppRoleAssignment Retourne un appRoleAssignment unique parmi la liste de tous les appRoleAssignments affectés à un utilisateur pour une application donnée.
Split Fractionne une chaîne en un tableau à plusieurs valeurs, en utilisant le caractère délimiteur spécifié.
StringFromSID La fonction StringFromSid convertit en chaîne un tableau d’octets contenant un identificateur de sécurité.
StripSpaces supprime tous les caractères d’espacement (" ") de la chaîne source.
Switch quand la valeur source correspond à une clé, retourne la valeur de cette clé.
ToLower prend une valeur de la chaîne source et la convertit en minuscules à l’aide des règles de culture spécifiées.
ToUpper prend une valeur de la chaîne source et la convertit en majuscule à l’aide des règles de culture spécifiées.
Trim La fonction Trim supprime les espaces blancs situés au début et à la fin d’une chaîne.
Word La fonction Word retourne un mot contenu dans une chaîne, en fonction des paramètres qui décrivent les délimiteurs à utiliser et le nombre de mots à retourner.

Ajouter

Fonction :
Append(source, suffixe)

Description :
prend une valeur de chaîne source et ajoute le suffixe à la fin de celle-ci.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String Généralement le nom de l’attribut de l’objet source.
suffix Obligatoire String Chaîne que vous souhaitez ajouter à la fin de la valeur source.

BitAnd

Description :
la fonction BitAnd définit des bits spécifiés sur une valeur.

Syntaxe :
num BitAnd(num value1, num value2)

  • value1, value2 : valeurs numériques qui doivent être liées par AND.

Remarques :
Cette fonction convertit les deux paramètres de la représentation binaire et définit un bit sur :

  • 0 - si un des bits, ou les deux bits correspondants dans value1 et value2 ont pour valeur 0
  • 1 - si les deux bits correspondants sont définis sur 1.

En d’autres termes, elle renvoie 0 dans tous les cas, sauf si les bits correspondants de ces deux paramètres sont définis sur 1.

Exemple :

BitAnd(&HF, &HF7)
Renvoie 7, car les valeurs hexadécimales « F » ET « F7 » donnent cette valeur.


CBool

Description :
La fonction CBool renvoie une valeur booléenne basée sur l’expression évaluée.

Syntaxe :
bool CBool(exp Expression)

Remarques :
Si l’expression renvoie une valeur autre que zéro, CBool renvoie la valeur True, sinon elle renvoie False.

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

Retourne True si les attributs ont la même valeur.


ConvertFromBase64

Description :
La fonction ConvertFromBase64 convertit la valeur encodée en base64 en chaîne régulière.

Syntaxe :
str ConvertFromBase64(str source) - part du principe que l’encodage utilisé est Unicode
str ConvertFromBase64(str source, enum Encoding)

  • source : Chaîne encodée Base64
  • Encodage : Unicode, ASCII, UTF8

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

Les deux exemples renvoient «Hello world! »


ConvertToBase64

Description :
La fonction ConvertToBase64 convertit une chaîne en chaîne Unicode base64.
Convertit la valeur d’un tableau d’entiers en sa représentation sous forme de chaîne équivalente encodée avec des chiffres en base 64.

Syntaxe :
str ConvertToBase64(str source)

Exemple :
ConvertToBase64("Hello world!")
Renvoie « SABlAGwAbABvACAAdwBvAHIAbABkACEA ».


ConvertToUTF8Hex

Description :
La fonction ConvertToUTF8Hex convertit une chaîne en valeur hexadécimale encodée UTF8.

Syntaxe :
str ConvertToUTF8Hex(str source)

Remarques :
Le format de sortie de cette fonction est utilisé par Microsoft Entra ID en tant que format d’attribut de nom de domaine.

Exemple :
ConvertToUTF8Hex("Hello world!")
Renvoie 48656C6C6F20776F726C6421.


Count

Description :
La fonction Count renvoie le nombre d’éléments dans un attribut à valeurs multiples.

Syntaxe :
num Count(mvstr attribute)


CChaîne

Description :
La fonction CStr convertit en un type de données de chaîne.

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

  • value : Peut être une valeur numérique, un attribut de référence ou une valeur booléenne.

Exemple :
CStr([dn])
Peut renvoyer « cn=Joe,dc=contoso,dc=com ».


DateFromNum

Description :
La fonction DateFromNum convertit une valeur au format de date AD en un type DateTime.

Syntaxe :
dt DateFromNum(num value)

Exemple :
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
Renvoie une valeur DateTime représentant 2012-01-01 23:00:00.


DNComponent

Description :
La fonction DNComponent renvoie la valeur d’un composant de nom de domaine spécifié en partant de la gauche.

Syntaxe :
str DNComponent(ref dn, num ComponentNumber)

  • dn : attribut de référence à interpréter
  • ComponentNumber : Composant du nom de domaine à retourner

Exemple :
DNComponent(CRef([dn]),1)
Si dn est « cn=Joe,ou=… », la fonction renvoie Joe.


Error

Description :
La fonction Error sert à renvoyer une erreur personnalisée.

Syntaxe :
void Error(str ErrorMessage)

Exemple :
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
Si l’attribut accountName n’est pas présent, renvoie une erreur sur l’objet.


FormatDateTime

Fonction :
FormatDateTime(source, inputFormat, outputFormat)

Description :
prend une chaîne de date dans un format et la convertit dans un autre format.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String Généralement le nom de l’attribut de l’objet source.
inputFormat Obligatoire String Format attendu de la valeur source. Pour les formats pris en charge, consultez /dotnet/standard/base-types/custom-date-and-time-format-strings.
outputFormat Obligatoire String Format de la date de sortie.

Guid

Description :
La fonction Guid génère un nouveau GUID aléatoire.

Syntaxe :
str Guid()


IIF

Description :
La fonction IIF renvoie une valeur parmi un ensemble de valeurs possibles en fonction d’une condition spécifiée.

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

  • condition : toute valeur ou expression qui peut être évaluée à true ou false.
  • valueIfTrue : La valeur renvoyée si la condition prend la valeur true.
  • valueIfFalse : La valeur renvoyée si la condition prend la valeur false.

Exemple :
IIF([employeeType]="Intern","t-" & [alias],[alias])
Renvoie l’alias d’un utilisateur avec le préfixe « t- » si l’utilisateur est stagiaire. Sinon, l’alias reste inchangé.


InStr

Description :
La fonction InStr recherche la première occurrence d’une sous-chaîne dans une chaîne.

Syntaxe :

num InStr(str stringcheck, str stringmatch)
num InStr(str stringcheck, str stringmatch, num start)
num InStr(str stringcheck, str stringmatch, num start, enum compare)

  • stringcheck : chaîne à rechercher
  • stringmatch : chaîne à trouver
  • start : position de départ pour trouver la sous-chaîne
  • compare : vbTextCompare ou vbBinaryCompare

Remarques :
Renvoie la position à laquelle la sous-chaîne a été trouvée, ou 0 si elle est introuvable.

Exemple :
InStr("The quick brown fox","quick")
Prend la valeur 5.

InStr("repEated","e",3,vbBinaryCompare)
Prend la valeur 7.


IsNull

Description :
La fonction IsNull renvoie true si l’expression correspond à la valeur Null.

Syntaxe :
bool IsNull(var Expression)

Remarques :
Dans le cas d’un attribut, la valeur Null est exprimée par l’absence de ce dernier.

Exemple :
IsNull([displayName])
Renvoie True si l’attribut est absent dans CS ou MV.


IsNullOrEmpty

Description :
La fonction IsNullOrEmpty renvoie la valeur true si l’expression a pour valeur Null ou s’il s’agit d’une chaîne vide.

Syntaxe :
bool IsNullOrEmpty(var Expression)

Remarques :
Dans le cas d’un attribut, cela donne la valeur True si l’attribut est absent ou est présent mais qu’il s’agit d’une chaîne vide.
L’inverse de cette fonction est nommé IsPresent.

Exemple :
IsNullOrEmpty([displayName])
Renvoie True si l’attribut est absent dans CS ou MV ou s’il s’agit d’une chaîne vide.


IsPresent

Description :
La fonction IsPresent renvoie true si l’expression correspond à une chaîne qui n’a pas la valeur Null et n’est pas vide.

Syntaxe :
bool IsPresent(var expression)

Remarques :
L’inverse de cette fonction est appelé IsNullOrEmpty.

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


Élément

Description :
La fonction Item renvoie un élément à partir d’une chaîne/d’un attribut à valeurs multiples.

Syntaxe :
var Item(mvstr attribute, num index)

  • attribute : attribut à valeurs multiples
  • index : index vers un élément dans la chaîne à valeurs multiples.

Remarques :
la fonction Item est utile si utilisée avec la fonction Contains, car cette dernière renvoie l’index à un élément de l’attribut à valeurs multiples.

Génère une erreur si l’index est hors limites.

Exemple :
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
Renvoie l’adresse de messagerie principale.


IsString

Description :
La fonction IsString prend la valeur True si l’expression peut être évaluée en tant que type de chaîne.

Syntaxe :
bool IsString(var expression)

Remarques :
Permet de déterminer si CStr() peut parvenir à analyser l’expression.


Join

Fonction :
Join(séparateur, source1, source2, …)

Description :
Join() est similaire à Append(), mais elle peut combiner plusieurs valeurs de chaîne sources dans une même chaîne et chaque valeur sera séparée par une chaîne de séparation.

Si l’une des valeurs sources est un attribut à valeurs multiples, toutes les valeurs de cet attribut seront jointes, séparées par la valeur de séparation.

Paramètres :

Nom Requis / Répétition Type Notes
separator Obligatoire String Chaîne utilisée pour séparer les valeurs sources quand elles sont concaténées en une seule chaîne. Peut être "" si aucun séparateur n’est requis.
source1 … sourceN Requis, nombre de fois variable String Valeurs de chaîne à joindre ensemble.

Gauche

Description :
La fonction Left renvoie un nombre spécifié de caractères en partant de la gauche d’une chaîne.

Syntaxe :
str Left(str string, num NumChars)

  • string : chaîne à partir de laquelle les caractères sont renvoyés
  • NumChars : nombre identifiant le nombre de caractères à retourner du début (à gauche) de la chaîne

Remarques :
Chaîne contenant les numChars premiers caractères de la chaîne :

  • Si numChars = 0, retourne une chaîne vide.
  • Si numChars < 0, retourne une chaîne d’entrée.
  • Si la chaîne est null, retourne une chaîne vide.

Si la chaîne contient moins de caractères que le nombre spécifié dans numChars, une chaîne identique à la chaîne (c’est-à-dire, contenant tous les caractères du paramètre 1) est renvoyée.

Exemple :
Left("John Doe", 3)
Retourne Joh.


ExtracChaîne

Fonction :
Mid(source, début, longueur)

Description :
retourne une sous-chaîne de la valeur source. Une sous-chaîne est une chaîne qui ne contient que certains des caractères de la chaîne source.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String Généralement le nom de l’attribut.
start Obligatoire entier Index dans la chaîne source où la sous-chaîne doit commencer. Le premier caractère dans la chaîne aura l’index 1, le deuxième caractère aura l’index 2, et ainsi de suite.
length Obligatoire entier Longueur de la sous-chaîne. Si la longueur se termine à l’extérieur de la chaîne source, la fonction retourne la sous-chaîne de l’index start jusqu’à la fin de l’index source.

NormalizeDiacritics

Fonction :
NormalizeDiacritics(source)

Description :
Nécessite un argument de chaîne. Retourne la chaîne, où les caractères diacritiques ont été remplacés par leurs équivalents non diacritiques. Généralement utilisé pour convertir les prénoms et les noms contenant des caractères diacritiques (accents) en valeurs autorisées pouvant être utilisées dans différents identificateurs d’utilisateurs, tels que les noms d’utilisateurs principaux, les noms de compte SAM et les adresses e-mail.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String Généralement un attribut de nom ou de prénom.

Not

Fonction :
Not(source)

Description :
inverse la valeur booléenne de la source. Si la valeur source est « True », cette fonction retourne «False ». Sinon, elle retourne «True».

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire Chaîne de type Boolean Les valeurs sources attendues sont « True » ou « False ».

RemoveDuplicates

Description :
La fonction RemoveDuplicates prend une chaîne à valeurs multiples et vérifie que chaque valeur est unique.

Syntaxe :
mvstr RemoveDuplicates(mvstr attribute)

Exemple :
RemoveDuplicates([proxyAddresses])
Renvoie un attribut proxyAddress expurgé duquel toutes les valeurs en double ont été supprimées.


Replace

Fonction :
Remplacer (source, oldValue, regexPattern, regexGroupName, replacementValue, replacementAttributeName, template)

Description :
Remplace les valeurs dans une chaîne. Elle fonctionne différemment selon les paramètres fournis :

  • Quand oldValue et replacementValue sont fournis :

    • Remplace toutes les occurrences d’oldValue dans la source par replacementValue
  • Quand oldValue et template sont fournis :

    • Remplace toutes les occurrences d’oldValue dans le template par la valeur source.
  • Quand regexPattern et replacementValue sont fournis :

    • La fonction applique regexPattern à la chaîne source et vous pouvez utiliser les noms de groupes regex pour construire la chaîne pour replacementValue.
  • Quand regexPattern, regexGroupName et replacementValue sont fournis :

    • La fonction applique regexPattern à la chaîne source et remplace toutes les valeurs correspondant à regexGroupName par replacementValue.
  • Quand regexPattern, regexGroupName et replacementAttributeName sont fournis :

    • Si source n’a pas de valeur, source est retourné
    • Si source a une valeur, la fonction applique regexPattern à la chaîne source et remplace toutes les valeurs correspondant à regexGroupName par la valeur associée à replacementAttributeName.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String Généralement, nom de l’attribut de l’objet source.
oldValue Facultatif String Valeur à remplacer dans source ou template.
regexPattern Facultatif String Modèle d’expression régulière pour la valeur à remplacer dans source. Ou, quand replacementPropertyName est utilisé, modèle pour extraire la valeur de replacementPropertyName.
regexGroupName Facultatif String Nom du groupe à l’intérieur de regexPattern. Nous extrayons la valeur de ce groupe en tant que replacementValue à partir de replacementPropertyName uniquement quand replacementPropertyName est utilisé.
replacementValue Facultatif String Nouvelle valeur par laquelle remplacer l’ancienne.
replacementAttributeName Facultatif String Nom de l’attribut à utiliser pour la valeur de remplacement.
template Facultatif String Lorsque la valeur template est fournie, nous recherchons la valeur oldValue dans le modèle et la remplaçons par la valeur source.

SelectUniqueValue

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

Description :
Nécessite un minimum de deux arguments, qui sont définis à l’aide d’expressions de règles de génération de valeur unique. La fonction évalue chaque règle, puis vérifie la valeur générée pour l’unicité dans le répertoire/application cible. La première valeur unique trouvée est celle retournée. Si toutes les valeurs existent déjà dans la cible, l’entrée sera déposée et le motif de cette action consigné dans les journaux d’audit. Il n’existe aucune limite supérieure au nombre d’arguments qui peuvent être fournis.

Notes

  • Il s’agit d’une fonction de niveau supérieur, vous ne pouvez donc pas l’imbriquer.
  • Cette fonction ne peut pas s’appliquer à des attributs qui ont une priorité de correspondance.
  • Cette fonction est uniquement destinée à être utilisée pour les créations d’entrées. Lorsque vous l’utilisez avec un attribut, définissez la propriété Appliquer le mappage sur Uniquement durant la création d’objet.
  • Cette fonction est actuellement prise en charge uniquement pour le « provisionnement d’utilisateurs de Workday et SuccessFactors vers Active Directory ». Elle ne peut pas être utilisée avec d’autres applications de provisionnement.

Paramètres :

Nom Requis / Répétition Type Notes
uniqueValueRule1 … uniqueValueRuleN Au moins 2 requis, aucune limite supérieure String Liste des règles de génération de valeur unique à évaluer.

SingleAppRoleAssignment

Fonction :
SingleAppRoleAssignment([appRoleAssignments])

Description :
Retourne un appRoleAssignment unique parmi la liste de tous les appRoleAssignments affectés à un utilisateur pour une application donnée. Cette fonction est nécessaire pour convertir l’objet appRoleAssignments en une chaîne de nom de rôle unique. Notez que la bonne pratique consiste à s’assurer qu’un seul appRoleAssignment est attribué à un seul utilisateur à la fois, et si plusieurs rôles sont attribués, la chaîne de rôle retournée ne doit pas être prévisible.

Paramètres :

Nom Requis / Répétition Type Notes
[appRoleAssignments] Obligatoire String Objet [appRoleAssignments] .

Split

Fonction :
Split (source, délimiteur)

Description :
Fractionne une chaîne en un tableau à plusieurs valeurs, en utilisant le caractère délimiteur spécifié.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String source à mettre à jour.
délimiteur Obligatoire String Spécifie le caractère qui sera utilisé pour fractionner la chaîne (exemple : « , »)

StringFromSid

Description :
La fonction StringFromSid convertit en chaîne un tableau d’octets contenant un identificateur de sécurité.

Syntaxe :
str StringFromSid(bin ObjectSID)


StripSpaces

Fonction :
StripSpaces(source)

Description :
supprime tous les caractères d’espacement (" ") de la chaîne source.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String source à mettre à jour.

Commutateur

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

Description :
quand la valeur source correspond à une clé, retourne la valeur de cette clé. Si la valeur source ne correspond à aucune clé, retourne defaultValue. Les paramètres key et value doivent toujours être fournis par paires. La fonction attend toujours un nombre pair de paramètres.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String Valeur source à vérifier.
defaultValue Facultatif String Valeur par défaut à utiliser quand la source ne correspond à aucune clé. Peut être une chaîne vide ("").
key Obligatoire String Key avec laquelle comparer la valeur source.
value Obligatoire String Valeur de remplacement pour la source correspondant à la clé.

ToLower

Fonction :
ToLower(source, culture)

Description :
prend une valeur de la chaîne source et la convertit en minuscules à l’aide des règles de culture spécifiées. Si aucune information de culture n'est spécifiée, une culture invariante est utilisée.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String Généralement le nom de l’attribut de l’objet source
culture Facultatif String Le format du nom de culture basé sur RFC 4646 est languagecode2-country/regioncode2, où languagecode2 correspond au code de langue à deux lettres et country/regioncode2 au code de sous-culture à deux lettres, par exemple, ja-JP pour le japonais (Japon) et en-US pour l’anglais (États-Unis). Si un code de langue à deux lettres n'est pas disponible, un code à trois lettres dérivé de la norme ISO 639-2 est utilisé.

ToUpper

Fonction :
ToUpper(source, culture)

Description :
prend une valeur de la chaîne source et la convertit en majuscule à l’aide des règles de culture spécifiées. Si aucune information de culture n'est spécifiée, une culture invariante est utilisée.

Paramètres :

Nom Requis / Répétition Type Notes
source Obligatoire String Généralement le nom de l’attribut de l’objet source.
culture Facultatif String Le format du nom de culture basé sur RFC 4646 est languagecode2-country/regioncode2, où languagecode2 correspond au code de langue à deux lettres et country/regioncode2 au code de sous-culture à deux lettres, par exemple, ja-JP pour le japonais (Japon) et en-US pour l’anglais (États-Unis). Si un code de langue à deux lettres n'est pas disponible, un code à trois lettres dérivé de la norme ISO 639-2 est utilisé.

SupprEspace

Description :
La fonction Trim supprime les espaces blancs situés au début et à la fin d’une chaîne.

Syntaxe :
str Trim(str value)

Exemple :
Trim(" Test ")
Renvoie « test ».

Trim([proxyAddresses])
Supprime les espaces blancs de début et de fin pour chaque valeur contenue dans l’attribut proxyAddress.


Word

Description :
La fonction Word retourne un mot contenu dans une chaîne, en fonction des paramètres qui décrivent les délimiteurs à utiliser et le nombre de mots à retourner.

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

  • string : chaîne à partir de laquelle le mot est renvoyé.
  • WordNumber : nombre identifiant le nombre de mots à renvoyer.
  • delimiters : chaîne représentant le ou les délimiteur(s) à utiliser pour identifier les mots

Remarques :
Chaque chaîne de caractères contenue dans la chaîne séparée par l’un des caractères figurant dans delimiters est identifiée en tant que mot :

  • Si number < 1, retourne une chaîne vide.
  • Si string a la valeur null, renvoie une chaîne vide.

Si la chaîne contient moins de mots ou ne contient pas les mots identifiés par les séparateurs, une chaîne vide est renvoyée.

Exemple :
Word("The quick brown fox",3," ")
Retourne « brown ».

Word("This,string!has&many separators",3,",!&#")
Retourne « has ».

Exemples

Supprimer un nom de domaine connu

Vous devez supprimer un nom de domaine connu de l’adresse de messagerie d’un utilisateur pour obtenir un nom d’utilisateur.
Par exemple, si le domaine est « contoso.com », vous pouvez utiliser l’expression suivante :

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

Exemple d’entrée/sortie :

  • ENTRÉE (e-mail) : "john.doe@contoso.com"
  • SORTIE: « john.doe »

Ajouter un suffixe de constante à un nom d’utilisateur

Si vous utilisez un Sandbox Salesforce, vous devrez peut-être ajouter un suffixe supplémentaire à tous les noms d’utilisateurs avant de les synchroniser.

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

Exemple d’entrée/sortie :

  • ENTRÉE : (userPrincipalName) : "John.Doe@contoso.com"
  • SORTIE : "John.Doe@contoso.com.test"

Générer des alias d’utilisateurs en concaténant des parties du prénom et du nom

Vous devez générer un alias d’utilisateur en prenant les trois premières lettres du prénom de l’utilisateur et les cinq premières lettres de son nom de famille.

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

Exemple d’entrée/sortie :

  • ENTRÉE (givenName) : "John"
  • ENTRÉE (surname) : "Doe"
  • SORTIE: « JohDoe »

Supprimer les signes diacritiques d’une chaîne

Vous devez remplacer les caractères accentués par leurs équivalents non accentués.

Expression :
NormalizeDiacritics([givenName])

Exemple d’entrée/sortie :

  • ENTRÉE (givenName) : "Zoë"
  • SORTIE : « Zoe »

Fractionner une chaîne en un tableau à valeurs multiples

Vous devez prendre une liste de chaînes délimitées par des virgules, et la fractionner en un tableau pouvant être raccordé à un attribut à valeurs multiples comme l’attribut PermissionSets de Salesforce. Dans cet exemple, une liste des jeux d’autorisations a été remplie dans extensionAttribute5 dans Microsoft Entra ID.

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

Exemple d’entrée/sortie :

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

Sortir une date sous la forme d’une chaîne dans un certain format

Vous souhaitez envoyer des dates à une application SaaS dans un format donné.
Par exemple, vous souhaitez mettre en forme des dates pour ServiceNow.

Expression :

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

Exemple d’entrée/sortie :

  • ENTRÉE (extensionAttribute1) : "20150123105347.1Z"
  • SORTIE: « 2015-01-23 »

Remplacer une valeur en fonction d’un ensemble d’options prédéfini

Vous devez définir le fuseau horaire de l’utilisateur en fonction du code d’état stocké dans Microsoft Entra ID.
Si le code d’état ne correspond à aucune des options prédéfinies, utilisez la valeur par défaut « Australia/Sydney ».

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

Exemple d’entrée/sortie :

  • ENTRÉE (état) : "QLD"
  • SORTIE : "Australia/Brisbane"

Remplacer des caractères à l’aide d’une expression régulière

Vous devez rechercher des caractères correspondant à une valeur d’expression régulière et les supprimer.

Expression :

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

Exemple d’entrée/sortie :

  • ENTRÉE (mailNickname: "john_doe72"
  • SORTIE : "72"

Convertir la valeur userPrincipalName (UPN) générée en minuscules

Dans l’exemple ci-dessous, la valeur UPN est générée en concaténant les champs sources PreferredFirstName et PreferredLastName, et la fonction ToLower agit sur la chaîne générée pour convertir tous les caractères en minuscules.

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

Exemple d’entrée/sortie :

  • ENTRÉE (PreferredFirstName) : "John"
  • ENTRÉE (PreferredLastName) : "Smith"
  • SORTIE : "john.smith@contoso.com"

Générer une valeur unique pour l’attribut userPrincipalName (UPN)

En fonction du prénom, du deuxième prénom et du nom de famille de l’utilisateur, vous devez générer une valeur pour l’attribut UPN et vérifier son caractère unique dans le répertoire AD cible avant d’attribuer la valeur à l’attribut UPN.

Expression :

    SelectUniqueValue( 
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  [PreferredFirstName], [PreferredLastName]))), "contoso.com"), 
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  Mid([PreferredFirstName], 1, 1), [PreferredLastName]))), "contoso.com"),
        Join("@", NormalizeDiacritics(StripSpaces(Join(".",  Mid([PreferredFirstName], 1, 2), [PreferredLastName]))), "contoso.com")
    )

Exemple d’entrée/sortie :

  • ENTRÉE (PreferredFirstName) : "John"
  • ENTRÉE (PreferredLastName) : "Smith"
  • SORTIE : « John.Smith@contoso.com » si la valeur UPN de John.Smith@contoso.com n’existe pas déjà dans le répertoire
  • SORTIE : « J.Smith@contoso.com » si la valeur UPN de John.Smith@contoso.com existe déjà dans le répertoire
  • SORTIE : « Jo.Smith@contoso.com » si les deux valeurs UPN précédentes existent déjà dans le répertoire

Étapes suivantes