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 :
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.