référence des fonctions pour Microsoft Identity Manager 2016

BitOr
Description La fonction BitOr définit un bit spécifié sur un indicateur de 1.
Signature de fonction Int BitOr(mask, flag)
Entrées
  • Mask: valeur hexadécimale qui spécifie le bit à définir sur l' indicateur.
  • indicateur: valeur hexadécimale qui doit avoir un bit spécifique modifié.
Opérations Cette fonction convertit les deux paramètres de la représentation binaire et les compare :
  • Définit un bit sur 1 si l’un des bits correspondants ou les deux dans le masque et l' indicateur ont la valeur 1.
  • Définit un bit sur 0 si les deux bits correspondants sont 0.
  • Retourne 1 dans tous les cas, sauf si les bits correspondants des deux paramètres ont la valeur 0.
  • Le modèle de bits résultant est le bit « Set » (1 ou true) de l’un des deux opérandes.
  • Plusieurs bits d' indicateur peuvent être définis si plusieurs bits ont la valeur 1 dans le masque.
Sortie Une nouvelle version de Flag avec les bits spécifiés dans Mask a la valeur 1.

BitAnd
Description La fonction BitOr définit un bit spécifié sur un indicateur de 0.
Signature de fonction Int BitOr(mask, flag)
Entrées
  • Mask: valeur hexadécimale qui spécifie le bit à modifier sur l' indicateur.
  • indicateur: valeur hexadécimale qui doit avoir un bit spécifique modifié.
Opérations Cette fonction convertit les deux paramètres de la représentation binaire et les compare :
  • Affecte un bit à 0 si l’un des bits correspondants ou les deux dans le masque et l' indicateur ont la valeur 0.
  • Définit un bit sur 1 si les deux bits correspondants sont 1.
  • Retourne 0 dans tous les cas, sauf si les bits correspondants des deux paramètres ont la valeur 1.
  • Plusieurs bits d' indicateur peuvent être définis sur 0 si plusieurs bits ont la valeur 0 dans le masque.
Sortie Une nouvelle version de l’indicateur avec les bits spécifiés dans le masque définis sur 0.

DateTimeFormat
Description La fonction DateTimeFormat est utilisée pour mettre en forme une valeur DateTime en chaîne au format spécifié.
Signature de fonction String DateTimeFormat(dateTime, format)
Entrées
  • DateTime: chaîne représentant la valeur DateTime à mettre en forme.
  • format: chaîne représentant le format vers lequel effectuer la conversion.

Remarque: pour les caractères acceptés pour créer des formats définis par l’utilisateur, consultez formats de date/heure définis par l’utilisateur.
Opérations La chaîne de format spécifiée au format est appliquée à la valeur DateTime dans la chaîne DateTime . La chaîne spécifiée au format doit être un format DateTime valide. Si cela n’est pas le cas, une erreur est renvoyée indiquant que le format n’est pas un format DateTime valide. Par exemple : DateTime("12/25/2007", "yyyy-MM-dd") résultats dans "2007-12-25" .
Sortie Chaîne qui résulte de l’application d’un format à DateTime.

ConvertSidToString
Description Le ConvertSidToString convertit un tableau d’octets qui contient un identificateur de sécurité pour une chaîne.
Signature de fonction String ConvertSidToString(ObjectSID)
Entrées ObjectSID: tableau d’octets contenant un identificateur de sécurité (SID).
Opérations Le SID binaire spécifié est converti en une chaîne.
Sortie Une représentation sous forme de chaîne de SID.

ConvertStringToGuid
Description La fonction ConvertStringToGuid convertit la représentation sous forme de chaîne d'un GUID en une représentation binaire de ce GUID.
Signature de fonction Byte[] ConvertStringToGuid(stringGuid)
Entrées stringGuid: chaîne mise en forme dans le modèle , où la valeur du GUID est représentée sous la forme d’une série de chiffres hexadécimaux dans des groupes de 8, 4, 4, 4 et 12 chiffres et séparés par des traits d’Union. Un exemple de valeur de retour est 382c74c3-721d-4f34-80e557657b6cbc27 .
Opérations Le stringGuid est converti en sa représentation binaire. Si la chaîne n’est pas une représentation d’un GUID valide, la fonction rejette l’argument avec l’erreur « le paramètre de la fonction ConvertStringToGuid doit être une chaîne représentant un GUID valide. »
Sortie Représentation binaire du GUID.

ReplaceString
Description La fonction ReplaceString remplace toutes les occurrences d'une chaîne par une autre chaîne.
Signature de fonction String ReplaceString(string, OldValue, NewValue)
Entrées
  • String: chaîne dans laquelle remplacer des valeurs.
  • OldValue: chaîne à rechercher et à remplacer.
  • NewValue: chaîne à remplacer par.
Opérations Toutes les occurrences de OldValue dans la chaîne sont remplacées par NewValue. La fonction doit être en mesure de gérer les caractères spéciaux \n. New Line, \r. retour chariot et \t. Tab. Par exemple : retourne .
Sortie Une chaîne avec toutes les occurrences de OldValue dans la chaîne remplacée par NewValue.

Fonctions de récupération des données

Les fonctions de récupération des données sont utilisées pour effectuer des opérations qui récupèrent les caractères sélectionnés dans une chaîne.

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.
Signature de fonction String Word(string, number, delimiters)
Entrées
  • String: chaîne à partir de laquelle retourner un mot.
  • Number: nombre identifiant le nombre de mots à renvoyer.
  • Delimiters: chaîne représentant les délimiteurs à utiliser pour identifier les mots.
Opérations Chaque chaîne de caractères de la chaîne séparée par l’un des caractères des délimiteurs est identifiée en tant que mot. Si String a la valeur null, la fonction retourne une chaîne vide. Le mot qui a été trouvé à la position spécifiée dans Number est retourné. Si la valeur 1 est renvoyée, la fonction retourne une chaîne vide. Par exemple :
  • Word("Test;of%function;", 3, ";$&%") retourne "function".
  • Word("Test;;Function" , 2 , ";") retourne "" (une chaîne vide).
  • Word("Test;of%function;", 0, ";$&%") retourne "" (une chaîne vide).
Sortie Chaîne contenant le mot à la position demandée par l’utilisateur. Si la chaîne contient moins de mots , ou si la chaîne ne contient pas de mots identifiés par des délimiteurs, une chaîne vide est retournée.

Gauche
Description La fonction Left retourne un nombre spécifié de caractères à partir de la gauche (au début) d’une chaîne.
Signature de fonction String Left(string, numChars)
Entrées
  • chaîne: chaîne à partir de laquelle les caractères doivent être retournés.
  • numChars: nombre identifiant le nombre de caractères à retourner à partir du début d’une chaîne.
Opérations les caractères numChars sont retournés à partir de la première position de la chaîne. Par exemple : Left("Britta Simon", 3) retourne "Bri" .
Sortie Chaîne contenant les premiers caractères numChars de la chaîne. Si numChars = 0, la fonction retourne une chaîne vide. Si numChars 0, la fonction retourne une chaîne d’entrée. Si String a la valeur null, la fonction retourne une chaîne vide.

Right
Description La fonction Right renvoie un nombre spécifié de caractères en partant de la droite (fin) d’une chaîne.
Signature de fonction String Right(string, numChars)
Entrées
  • chaîne: chaîne à partir de laquelle les caractères doivent être retournés.
  • numChars: nombre identifiant le nombre de caractères à retourner à partir de la fin d’une chaîne.
Opérations Retourne numChars caractères à partir de la fin de la chaîne. Par exemple : Right("Britta Simon", 3) retourne "mon" .
Sortie Chaîne contenant les derniers caractères numChars dans la chaîne. Si numChars = 0, la fonction retourne une chaîne vide. Si numChars 0, la fonction retourne une chaîne d’entrée. Si String a la valeur null, la fonction retourne une chaîne vide. Si la chaîne contient moins de caractères que le nombre spécifié dans numChars, la chaîne est retournée.

ExtracChaîne
Description La fonction Mid renvoie un nombre donné de caractères à partir d’une position spécifiée dans une chaîne.
Signature de fonction String Mid(string, pos, numChars)
Entrées
  • chaîne: chaîne à partir de laquelle les caractères doivent être retournés.
  • pos: nombre identifiant la position de départ dans une chaîne pour retourner des caractères.
  • numChars: nombre identifiant le nombre de caractères à retourner à partir d’une position dans la chaîne.
Opérations Retourne les caractères numChars à partir de la position pos dans la chaîne. Par exemple : Mid("Britta Simon", 3, 5) retourne "itta " .
Sortie Chaîne contenant des caractères numChars à partir de la position pos dans la chaîne. Si numChars = 0, la fonction retourne une chaîne vide. Si numChars 0, la fonction retourne une chaîne vide. Si pos est la longueur de la chaîne, la fonction retourne une chaîne d’entrée. Si pos = 0, la fonction retourne une chaîne d’entrée. Si String a la valeur null, la fonction retourne une chaîne vide. S’il n’y a aucun caractère NUMCHARS restant dans la chaîne à partir de la position pos, autant de caractères que possible sont retournés.

Fonctions de génération de données

Les fonctions de génération de données sont utilisées pour générer des valeurs pour des types de données spécifiques.

CRLF
Description La fonction CRLF génère un retour chariot/saut de ligne. Utilisez cette fonction pour ajouter une nouvelle ligne.
Signature de fonction String CRLF
Entrées Aucun.
Opérations Un CRLF est renvoyé. Par exemple :
AddressLine1 + CRLF() + AddressLine2
résultats dans AddressLine1
AddressLine2.
Sortie Un CRLF est la sortie.

RandomNum
Description La fonction RandomNum renvoie un nombre aléatoire compris dans un intervalle spécifié.
Signature de fonction Int RandomNum(start, end)
Entrées
  • Start: nombre identifiant la limite inférieure de la valeur aléatoire à générer.
  • end: nombre identifiant la limite supérieure de la valeur aléatoire à générer.
Opérations Un nombre aléatoire supérieur ou égal au début et inférieure ou égale à la fin est généré. Par exemple : Random(0,999) peut retourner 100 .
Sortie Un nombre aléatoire dans la plage spécifiée par début et fin.

EscapeDNComponent
Description La méthode EscapeDNComponent de MIISUtils est utilisée pour effectuer cette opération. Cette méthode traite la chaîne d’entrée en fonction du type d’agent de gestion (MA) utilisé.
Signature de fonction String EscapeDNComponent(string)
Entrées chaîne: chaîne utilisée pour traiter un nom unique. La chaîne ne doit pas contenir des caractères d’échappement.
Opérations Les agents de différents requièrent des formats de noms distinctifs différents. Cette méthode traite la chaîne d’entrée selon les types ma suivants :
  • Nom unique LDAP: par exemple, Active Directory Domain Services, Sun Directory Server (anciennement iPlanet Directory Server) et Microsoft Exchange Server.
    • Tous les caractères XML non valides dans la partie valeur d’un composant donné sont encodés en hexadécimal.
    • Les caractères non conformes (y compris les caractères XML non valides) dans la partie nom d’une partie donnée génèrent une erreur.
    • Les caractères d’échappement sont les suivants : virgule (,), égal à (=), plus (+), inférieur à ( < ), supérieur à ( > ), nombre (#), point-virgule (;), barre oblique inverse () et guillemet double (").
    • Si le dernier caractère de la chaîne est un espace (), cet espace est placé dans une séquence d’échappement.
    • Tous les espaces de début ou de fin superflus autour d’un nom de partie sont supprimés.
    • Pour l’agent de la fusion XML, s’il y a plusieurs parties, les parties sont classées par ordre alphabétique.
    • Si plusieurs parties sont spécifiées, la chaîne de nom unique composite est la concaténation des chaînes individuelles séparées par des signes plus (+).
    • Une erreur est générée si la chaîne d’entrée n’est pas une chaîne de nom unique de style LDAP bien formée.
  • Non-LDAP hiérarchique: Voici un exemple de ce type de ma : Microsoft Lotus Notes.
    • Ce type de MA ne prend pas en charge les composants en plusieurs parties.
    • Si plusieurs chaînes sont passées à EscapeDNComponent , une EscapeDNComponent est levée.
    • Si l’un des caractères de la chaîne d’entrée est un caractère XML non valide, une exception ArgumentException est levée.
    • Toutes les virgules (,) et barres obliques inverses (/) dans la chaîne d’entrée sont placées dans une séquence d’échappement.
    • Si le dernier caractère de la chaîne est un espace (), cet espace est placé dans une séquence d’échappement.
  • Extrinsèque: des exemples de ce type de ma sont les bases de données ou XML sans nom unique LDAP.
    • Si une partie est de type binaire ou contient un caractère XML non valide, cette partie est stockée sous la forme d’une version codée en hexadécimal des données brutes avec un caractère de nombre (#) préfixé au début de la chaîne. Par exemple, si une partie était AxC (où x représente un caractère XML non conforme tel que 0x10 ), cette partie est encodée sous la forme #410010004300 . Dans le cas contraire, toutes les instances de ces caractères sont placées dans une séquence d’échappement : barre oblique inverse (), virgule (,), plus (+) et nombre (#).
    • Si le dernier caractère d’une chaîne de partie donnée est un espace (), cet espace est placé dans une séquence d’échappement.
    • Si plusieurs parties sont spécifiées, la chaîne du nom composite unique est la concaténation de toutes les chaînes individuelles séparées par des signes plus.
Sortie Une chaîne contenant un nom de domaine valide.

Notes

La validation des noms uniques est moins stricte que la syntaxe définie dans les spécifications de LDAP. EscapeDNComponent(String[]) permet à un nom de partie de contenir n’importe quelle combinaison d’un ou plusieurs des caractères’A'-'z-«z', 'A'-'z-«Z', ' 0 '-' 9 ', '-'et'. '.

Il n’est pas possible de spécifier une partie binaire avec cette méthode. Toutefois, il est possible d’avoir une partie binaire dans CommitNewConnector si le nom unique est construit à partir des attributs d’ancrage et un des attributs d’ancrage est un type binaire.


Null
Description La fonction null est utilisée pour spécifier que l’agent de l’agent n’a pas d’attribut à contribuer et que la priorité de l’attribut doit se poursuivre avec l’agent de fusion suivant.
Signature de fonction String Null
Entrées Aucun.
Opérations Un Nul est renvoyé. Par exemple : IIF(Eq(domain), "unknown", Null()) retourne Null .
Sortie Une valeur Nul est sortie.

Fonctions logiques

Les fonctions logiques sont utilisées pour effectuer une opération en fonction des conditions évaluées par le système.

IIF
Description La fonction IIF renvoie une valeur parmi un ensemble de valeurs possibles en fonction d’une condition spécifiée.
Signature de fonction Object IIF(condition, valueIfTrue, valueIfFalse)
Entrées
  • condition: toute valeur ou expression qui peut être évaluée sur true ou false. Les fonctions suivantes peuvent être utilisées comme expressions dans la fonction IIF pour la condition :
    • EQ: cette fonction compare l’égalité de deux arguments.
    • NotEquals: cette fonction compare l’inégalité de deux arguments, en retournant la valeur true si elles ne sont pas égales et false si elles sont égales. Par exemple : NotEquals(EmployeeType, "Contractor").
    • LessThan: cette fonction compare deux nombres, en retournant la valeur true si la première est inférieure à la seconde et la valeur false dans le cas contraire. Par exemple : LessThan(Salary, 100000).
    • GreaterThan: cette fonction compare deux nombres, en retournant la valeur true si la première est supérieure à la seconde et la valeur false dans le cas contraire. Par exemple : GreaterThan(Salary, 100000).
    • LessThanOrEquals: cette fonction compare deux nombres, en retournant la valeur true si le premier est inférieur ou égal au deuxième et false dans le cas contraire. Par exemple : LessThanOrEquals(Salary, 100000).
    • GreaterThanOrEquals: cette fonction compare deux nombres, en retournant la valeur true si le premier est supérieur ou égal au deuxième et false dans le cas contraire. Par exemple : GreaterThanOrEquals(Salary, 100000).
    • IsPresent: cette fonction accepte comme entrée un attribut dans le schéma ILM et retourne true si l’attribut n’est pas null et false si l’attribut a la valeur null.
  • valueIfTrue: valeur retournée si la condition prend la valeur true.
  • valueIfFalse: valeur retournée si la condition prend la valeur false.
Opérations Si la condition prend la valeur true, la fonction retourne valueIfTrue. Dans le cas contraire, la fonction retourne valueIfFalse. Par exemple : IIF(Eq(EmployeeType,"Intern"),"t-" + Alias, Alias) retourne l’alias d’un utilisateur dont le « t- » est ajouté au début de l’alias si l’utilisateur est un intern. Dans le cas contraire, la fonction retourne l’alias de l’utilisateur tel quel.
Sortie La sortie est valueIfTrue si la condition est true ou valueIfFalse si la condition est false.

Dans Microsoft Identity Manager (MIM) 2016, les fonctions permettent de modifier les valeurs d’attribut avant le passage vers une cible dans une activité de fonction ou un provisionnement déclaratif. L’objectif de ce document est de vous offrir une vue d’ensemble des fonctions disponibles et une description de la façon dont vous pouvez les utiliser.

La configuration des mappages de flux d’attributs constitue une tâche élémentaire lors de la configuration des règles de synchronisation. La forme la plus simple d’un mappage de flux d’attributs est un mappage direct. Comme indiqué par le nom, un mappage direct prend la valeur d’un attribut source et l’applique à l’attribut de destination configuré. Il existe des cas où vous devez soit modifier les valeurs d’attributs existantes soit calculer de nouvelles valeurs d’attributs avant que le système ne les applique à une destination.

Les fonctions sont une méthode intégrée permettant de définir le type de modification que le moteur de synchronisation doit appliquer lors de la génération d’une valeur d’attribut pour une destination.

les fonctions de MIM sont distribuées dans les catégories suivantes :

  • Manipulation de données : effectuer diverses opérations de manipulation sur des chaînes.

  • Récupération de données : extrayez les données à partir des valeurs d’attribut.

  • Génération de données : génère des valeurs.

  • Logique : effectue des opérations en fonction de conditions.

Les sections suivantes fournissent plus de détails sur les fonctions de chaque catégorie.

Fonctions de manipulation des données

Les fonctions de manipulation des données permettent d’effectuer diverses opérations de manipulation de chaînes.

Concatenate
Description La fonction CONCATENATE concatène deux chaînes ou plus.
Signature de fonction string1 + string2...
Entrées Deux ou plusieurs chaînes.
Opérations Tous les paramètres de chaîne d’entrée sont concaténés avec eux.
Sortie Une chaîne.

UpperCase
Description La fonction UpperCase convertit tous les caractères d'une chaîne en majuscules.
Signature de fonction String UpperCase(string)
Entrées Une chaîne.
Opérations Tous les caractères en minuscules du paramètre d’entrée sont convertis en caractères en majuscules. Par exemple : UpperCase("test") résultats dans "TEST" .
Sortie Une chaîne.

LowerCase
Description La fonction Minuscules convertit tous les caractères inclus dans une chaîne en minuscules.
Signature de fonction String LowerCase(string)
Entrées Une chaîne.
Opérations Tous les caractères en minuscules du paramètre d’entrée sont convertis en caractères en majuscules. Par exemple : LowerCase("TeSt") résultats dans "test" .
Sortie Une chaîne.

ProperCase
Description La fonction ProperCase convertit le premier caractère de chaque mot délimité par des espaces dans une chaîne en majuscules. Tous les autres caractères sont convertis en minuscules.
Signature de fonction String ProperCase(string)
Entrées Une chaîne.
Opérations Le premier caractère de chaque mot délimité par des espaces dans le paramètre d’entrée est converti en majuscules. Tous les caractères majuscules sont convertis en caractères minuscules. Si un mot dans le paramètre d’entrée commence par un caractère non alphabétique, le premier caractère du mot n’est pas converti en majuscules. Par exemple :
  • ProperCase("TEsT") résultats dans "Test" .
  • ProperCase("britta simon") résultats dans "Britta Simon" .
  • ProperCase(" TEsT") résultats dans " Test" .
  • ProperCase("\$TEsT") résultats dans "\$Test" .
Sortie Une chaîne.

SupprGauche
Description La fonction LTrim supprime les espaces blancs de début d’une chaîne.
Signature de fonction String LTrim(string)
Entrées Une chaîne.
Opérations Les caractères d’espace blanc de début contenus dans le paramètre d’entrée sont supprimés. Par exemple : LTrim(" Test ") résultats dans "Test " .
Sortie Une chaîne.

SupprDroite
Description La fonction RTrim supprime les espaces blancs de fin d’une chaîne.
Signature de fonction String RTrim(string)
Entrées Une chaîne.
Opérations Les espaces blancs de fin contenus dans le paramètre d’entrée sont supprimés. Par exemple : RTrim(" Test ") résultats dans " Test" .
Sortie Une chaîne.

SupprEspace
Description La fonction Trim supprime les espaces blancs de début et de fin d’une chaîne.
Signature de fonction String Trim(string)
Entrées Une chaîne.
Opérations Les espaces blancs de début et de fin contenus dans la chaîne sont supprimés. Par exemple : Trim(" Test ") résultats dans "Test" .
Sortie Une chaîne.

RightPad
Description La fonction RightPad remplit une chaîne par la droite d'une longueur spécifiée en utilisant un caractère de remplissage fourni.
Signature de fonction String RightPad(string, length, padCharacter)
Entrées
  • chaîne: chaîne à remplir.
  • Length: entier représentant la longueur souhaitée de la chaîne.
  • padCharacter: chaîne composée d’un seul caractère à utiliser comme caractère de remplissage.
Opérations Si la longueur de la chaîne est inférieure à Length, padCharacter est ajouté à plusieurs reprises à la fin de la chaîne jusqu’à ce que la longueur de la chaîne soit égale à Length. Par exemple :
  • RightPad("User", 10, "0") résultats dans "User000000" .
  • RightPad(RandomNum(1,10), 5, "0") peut aboutir à "9000" .
Sortie Si la chaîne a une longueur supérieure ou égale à Length, une chaîne identique à String est retournée. Si la longueur de la chaîne est inférieure à la longueur, une nouvelle chaîne de la longueur souhaitée est retournée. La nouvelle chaîne contient une chaîne remplie avec un padCharacter. Si String a la valeur null, la fonction retourne une chaîne vide.

Remarque: padCharacter peut être un espace, mais il ne peut pas être une valeur null. Si la longueur de la chaîne est supérieure ou égale à la longueur, la chaîne est retournée sans modification.

LeftPad
Description La fonction LeftPad remplit une chaîne par la gauche d'une longueur spécifiée en utilisant un caractère de remplissage fourni.
Signature de fonction String LeftPad(string, length, padCharacter)
Entrées
  • chaîne: chaîne à remplir.
  • Length: entier représentant la longueur souhaitée de la chaîne.
  • padCharacter: chaîne composée d’un seul caractère à utiliser comme caractère de remplissage.
Opérations Si la longueur de la chaîne est inférieure à Length, padCharacter est ajouté à plusieurs reprises au début de la chaîne jusqu’à ce que la longueur de la chaîne soit égale à Length. Par exemple :
  • RightPad("User", 10, "0") résultats dans "000000User" .
  • RightPad(RandomNum(1,10), 5, "0") peut aboutir à "0009" .
Sortie Si la chaîne a une longueur supérieure ou égale à Length, une chaîne identique à String est retournée. Si la longueur de la chaîne est inférieure à la longueur, une nouvelle chaîne de la longueur souhaitée est retournée. La nouvelle chaîne contient une chaîne remplie avec un padCharacter. Si String a la valeur null, la fonction retourne une chaîne vide.

Remarque: padCharacter peut être un espace, mais il ne peut pas être une valeur null. Si la longueur de la chaîne est supérieure ou égale à la longueur, la chaîne est retournée sans modification.