Dela via


Funktionsreferens för Microsoft Identity Manager 2016

I Microsoft Identity Manager (MIM) 2016 kan du ändra attributvärden innan du skickar dem till ett mål i en funktionsaktivitet eller deklarativ etablering. Syftet med det här dokumentet är att ge dig en översikt över tillgängliga funktioner och en beskrivning av hur du kan använda dem.

Att konfigurera attributflödesmappningar är en elementär uppgift när du konfigurerar synkroniseringsregler. Den enklaste formen av en attributflödesmappning är en direkt mappning. Som namnet anger tar en direktmappning värdet för ett källattribut och tillämpar det på det konfigurerade målattributet. Det finns fall där du antingen behöver befintliga attributvärden som ska ändras eller nya attributvärden som ska beräknas innan systemet tillämpar dem på ett mål.

Funktioner är en inbyggd metod som används för att definiera vilken typ av ändring du behöver synkroniseringsmotorn för att tillämpa när du genererar ett attributvärde för ett mål.

MIM-funktionerna distribueras i följande kategorier:

  • Datamanipulering: Utför en mängd olika manipuleringsåtgärder på strängar.

  • Datahämtning: Extrahera data från attributvärden.

  • Datagenerering: Generera värden.

  • Logik: Utföra åtgärder baserat på villkor.

Följande avsnitt innehåller mer information om funktionerna i varje kategori.

Funktioner för datamanipulering

Datamanipuleringsfunktioner används för att utföra en mängd olika manipuleringsåtgärder på strängar.

Concatenate Detalj
Beskrivning Funktionen Sammanfoga sammanfogar två eller flera strängar.
Funktionssignatur string1 + string2...
Ingångar Två eller flera strängar.
Verksamhet Alla indatasträngsparametrar sammanfogas med varandra.
Utdata En sträng.

Versal Detalj
Beskrivning Funktionen Versaler konverterar alla tecken i en sträng till versaler.
Funktionssignatur String UpperCase(string)
Ingångar En sträng.
Verksamhet Alla gemener i indataparametern konverteras till versaler. Exempel: UpperCase("test") resulterar i "TEST".
Utdata En sträng.

Gemen Detalj
Beskrivning Funktionen Gemener konverterar alla tecken i en sträng till gemener.
Funktionssignatur String LowerCase(string)
Ingångar En sträng.
Verksamhet Alla versaler i indataparametern konverteras till gemener. Exempel: LowerCase("TeSt") resulterar i "test".
Utdata En sträng.

ProperCase Detalj
Beskrivning Funktionen ProperCase konverterar det första tecknet för varje blankstegsavgränsat ord i en sträng till versaler. Alla andra tecken konverteras till gemener.
Funktionssignatur String ProperCase(string)
Ingångar En sträng.
Verksamhet Det första tecknet för varje blankstegsavgränsat ord i indataparametern konverteras till versaler. Alla versaler konverteras till gemener. Om ett ord i indataparametern börjar med ett icke-alfabettecken konverteras inte ordets första tecken till versaler. Till exempel:
  • ProperCase("TEsT") resulterar i "Test".
  • ProperCase("britta simon") resulterar i "Britta Simon".
  • ProperCase(" TEsT") resulterar i " Test".
  • ProperCase("\$TEsT") resulterar i "\$Test".
Utdata En sträng.

LTrim Detalj
Beskrivning Funktionen LTrim tar bort de inledande blankstegen från en sträng.
Funktionssignatur String LTrim(string)
Ingångar En sträng.
Verksamhet De inledande blankstegstecken som finns i indataparametern tas bort. Exempel: LTrim(" Test ") resulterar i "Test ".
Utdata En sträng.

RTrim Detalj
Beskrivning RTrim-funktionen tar bort avslutande blanksteg från en sträng.
Funktionssignatur String RTrim(string)
Ingångar En sträng.
Verksamhet De avslutande blankstegstecken som finns i indataparametern tas bort. Exempel: RTrim(" Test ") resulterar i " Test".
Utdata En sträng.

Trimma Detalj
Beskrivning Funktionen Trim tar bort inledande och avslutande blanksteg från en sträng.
Funktionssignatur String Trim(string)
Ingångar En sträng.
Verksamhet De inledande och avslutande blankstegstecken som finns i strängen tas bort. Exempel: Trim(" Test ") resulterar i "Test".
Utdata En sträng.

RightPad Detalj
Beskrivning RightPad-funktionen högerkuddar en sträng till en angiven längd med hjälp av ett angivet utfyllnadstecken.
Funktionssignatur String RightPad(string, length, padCharacter)
Ingångar
  • sträng: Strängen som ska fyllas på.
  • längd: Ett heltal som representerar strängens önskade längd.
  • padCharacter: En sträng som består av ett enda tecken som ska användas som ett strecktecken.
Verksamhet Om längden på sträng är mindre än längdläggs padCharacter upprepade gånger till slutet av sträng tills strängen längd är lika med längd. Till exempel:
  • RightPad("User", 10, "0") resulterar i "User000000".
  • RightPad(RandomNum(1,10), 5, "0") kan resultera i "9000".
Utdata Om sträng har en längd som är större än eller lika med längdreturneras en sträng som är identisk med sträng. Om längden på sträng är mindre än längdreturneras en ny sträng med önskad längd. Den nya strängen innehåller sträng vadderad med en padCharacter. Om sträng är null returnerar funktionen en tom sträng.

Obs: padCharacter kan vara ett blankstegstecken, men det kan inte vara ett null-värde. Om längden på sträng är lika med eller större än längdreturneras sträng oförändrad.

LeftPad Detalj
Beskrivning LeftPad-funktionen left-pads en sträng till en angiven längd med hjälp av ett angivet utfyllnadstecken.
Funktionssignatur String LeftPad(string, length, padCharacter)
Ingångar
  • sträng: Strängen som ska fyllas på.
  • längd: Ett heltal som representerar strängens önskade längd.
  • padCharacter: En sträng som består av ett enda tecken som ska användas som ett strecktecken.
Verksamhet Om längden på sträng är mindre än längdläggs padCharacter upprepade gånger till början av sträng tills strängen längd är lika med längd. Till exempel:
  • RightPad("User", 10, "0") resulterar i "000000User".
  • RightPad(RandomNum(1,10), 5, "0") kan resultera i "0009".
Utdata Om sträng har en längd som är större än eller lika med längdreturneras en sträng som är identisk med sträng. Om längden på sträng är mindre än längdreturneras en ny sträng med önskad längd. Den nya strängen innehåller sträng vadderad med en padCharacter. Om sträng är null returnerar funktionen en tom sträng.

Obs: padCharacter kan vara ett blankstegstecken, men det kan inte vara ett null-värde. Om längden på sträng är lika med eller större än längdreturneras sträng oförändrad.

Bitor Detalj
Beskrivning BitOr-funktionen anger en angiven bit på en flagga till 1.
Funktionssignatur Int BitOr(mask, flag)
Ingångar
  • mask: Ett hexadecimalt värde som anger den bit som ska anges på flaggan .
  • flagga: Ett hexadecimalt värde som ska ha en viss bit ändrad.
Verksamhet Den här funktionen konverterar båda parametrarna till binär representation och jämför dem:
  • Anger en bit till 1 om en eller båda motsvarande bitar i mask och flagga är 1.
  • Anger en bit till 0 om båda motsvarande bitar är 0.
  • Returnerar 1 i alla fall, förutom där motsvarande bitar av båda parametrarna är 0.
  • Det resulterande bitmönstret är "set" (1 eller true) bitar av någon av de två operanderna.
  • Flera flagga bitar kan anges om flera bitar har värdet 1 i mask.
Utdata En ny version av flagga med de bitar som anges i mask inställt på 1.

BitAnd Detalj
Beskrivning Funktionen BitAnd anger en angiven bit på en flagga till 0.
Funktionssignatur Int BitOr(mask, flag)
Ingångar
  • mask: Ett hexadecimalt värde som anger vilken bit som ska ändras på -flaggan.
  • flagga: Ett hexadecimalt värde som ska ha en viss bit ändrad.
Verksamhet Den här funktionen konverterar båda parametrarna till binär representation och jämför dem:
  • Anger en bit till 0 om en eller båda motsvarande bitar i mask och flagga är 0.
  • Anger en bit till 1 om båda motsvarande bitar är 1.
  • Returnerar 0 i alla fall, förutom där motsvarande bitar av båda parametrarna är 1.
  • Flera flagga bitar kan anges till 0 om flera bitar har värdet 0 i mask.
Utdata En ny version av flagga med bitarna som anges i mask inställt på 0.

DateTimeFormat Detalj
Beskrivning Funktionen DateTimeFormat används för att formatera en DateTime i strängform till ett angivet format.
Funktionssignatur String DateTimeFormat(dateTime, format)
Ingångar
  • dateTime: En sträng som representerar DateTime som ska formateras.
  • format: En sträng som representerar det format som ska konverteras till.

Obs: För de tecken som godkänns för att skapa användardefinierade format, se användardefinierade datum-/tidsformat.
Verksamhet Formatsträngen som anges i format tillämpas på DateTime i strängen dateTime. Strängen som anges i format måste vara ett giltigt DateTime-format. Om det inte är det returneras ett fel som anger att formatet inte är ett giltigt DateTime-format. Exempel: DateTime("12/25/2007", "yyyy-MM-dd") resulterar i "2007-12-25".
Utdata En sträng som är resultatet av att tillämpa formatdateTime-.

ConvertSidToString Detalj
Beskrivning ConvertSidToString konverterar en bytematris som innehåller en säkerhetsidentifierare till en sträng.
Funktionssignatur String ConvertSidToString(ObjectSID)
Ingångar ObjectSID: En bytematris som innehåller en säkerhetsidentifierare (SID).
Verksamhet Angivet binärt SID konverteras till en sträng.
Utdata En strängrepresentation av SID.

ConvertStringToGuid Detalj
Beskrivning Funktionen ConvertStringToGuid konverterar strängrepresentationen av ett GUID till en binär representation av GUID.
Funktionssignatur Byte[] ConvertStringToGuid(stringGuid)
Ingångar stringGuid: En sträng formaterad i mönstret xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, där värdet för GUID representeras som en serie hexadecimala siffror i grupper om 8, 4, 4, 4 och 12 siffror och avgränsas med bindestreck. Ett exempel på ett returvärde är 382c74c3-721d-4f34-80e557657b6cbc27.
Verksamhet stringGuid konverteras till dess binära representation. Om strängen inte är en representation av ett giltigt GUID avvisar funktionen argumentet med felet "Parametern för funktionen ConvertStringToGuid måste vara en sträng som representerar ett giltigt Guid".
Utdata En binär representation av GUID.

ReplaceString Detalj
Beskrivning Funktionen ReplaceString ersätter alla förekomster av en sträng till en annan sträng.
Funktionssignatur String ReplaceString(string, OldValue, NewValue)
Ingångar
  • sträng: Strängen där värden ska ersättas.
  • OldValue: Strängen som du vill söka efter och ersätta.
  • NewValue: Strängen som ska ersättas med.
Verksamhet Alla förekomster av OldValue i strängen ersätts med NewValue. Funktionen måste kunna hantera specialtecken \n. ny rad \r. vagnen returnerar och \t. fliken. Exempel: ReplaceString("One\n\rMicrosoft\n\r\Way","\n\r"," ") returnerar "One Microsoft Way".
Utdata En sträng med alla förekomster av OldValue i strängen som ersätts med NewValue.

Datahämtningsfunktioner

Datahämtningsfunktioner används för att utföra åtgärder som hämtar önskade tecken från en sträng.

Ord Detalj
Beskrivning Funktionen Word returnerar ett ord som finns i en sträng, baserat på parametrar som beskriver avgränsarna som ska användas och det ordnummer som ska returneras.
Funktionssignatur String Word(string, number, delimiters)
Ingångar
  • sträng: Strängen som du vill returnera ett ord från.
  • tal: Ett tal som identifierar vilket ordnummer som ska returneras.
  • avgränsare: En sträng som representerar avgränsare som ska användas för att identifiera ord.
Verksamhet Varje sträng med tecken i sträng som avgränsas med ett av tecknen i avgränsare identifieras som ett ord. Om sträng är null returnerar funktionen en tom sträng. Ordet som hittades vid den position som anges i tal returneras. Om tal< 1 returnerar funktionen en tom sträng. Till exempel:
  • Word("Test;of%function;", 3, ";$&%") returnerar "function".
  • Word("Test;;Function" , 2 , ";") returnerar "" (en tom sträng).
  • Word("Test;of%function;", 0, ";$&%") returnerar "" (en tom sträng).
Utdata En sträng som innehåller ordet vid den position som användaren bad om. Om sträng innehåller mindre än tal ord, eller om sträng inte innehåller ord som identifieras av avgränsare, returneras en tom sträng.

Vänster Detalj
Beskrivning Funktionen Vänster returnerar ett angivet antal tecken från vänster (början) av en sträng.
Funktionssignatur String Left(string, numChars)
Ingångar
  • sträng: Strängen som du vill returnera tecken från.
  • numChars: Ett tal som identifierar antalet tecken som ska returneras från början av en sträng.
Verksamhet numChars tecken returneras från den första positionen för strängen. Till exempel: Left("Britta Simon", 3) returnerar "Bri".
Utdata En sträng som innehåller de första numChars- tecknen i strängen. Om numChars = 0 returnerar funktionen en tom sträng. Om numChars< 0 returnerar funktionen en indatasträng. Om sträng är null returnerar funktionen en tom sträng.

Höger Detalj
Beskrivning Funktionen Höger returnerar ett angivet antal tecken från höger (slutet) av en sträng.
Funktionssignatur String Right(string, numChars)
Ingångar
  • sträng: Strängen som du vill returnera tecken från.
  • numChars: Ett tal som identifierar antalet tecken som ska returneras från slutet av en sträng.
Verksamhet Returnera numChars tecken från slutet av strängen. Till exempel: Right("Britta Simon", 3) returnerar "mon".
Utdata En sträng som innehåller de sista numChars tecknen i strängen. Om numChars = 0 returnerar funktionen en tom sträng. Om numChars< 0 returnerar funktionen en indatasträng. Om sträng är null returnerar funktionen en tom sträng. Om sträng innehåller färre tecken än det tal som anges i numCharsreturneras sträng.

Mid Detalj
Beskrivning Funktionen Mid returnerar ett angivet antal tecken från en angiven position i en sträng.
Funktionssignatur String Mid(string, pos, numChars)
Ingångar
  • sträng: Strängen som du vill returnera tecken från.
  • pos: Ett tal som identifierar startpositionen i en sträng för att returnera tecken.
  • numChars: Ett tal som identifierar antalet tecken som ska returneras från en position i strängen.
Verksamhet Returnera numChars tecken från position pos i strängen. Till exempel: Mid("Britta Simon", 3, 5) returnerar "itta ".
Utdata En sträng som innehåller numChars tecken från position pos i strängen. Om numChars = 0 returnerar funktionen en tom sträng. Om numChars< 0 returnerar funktionen en tom sträng. Om pos> längden på strängreturnerar funktionen en indatasträng. Om pos<= 0 returnerar funktionen en indatasträng. Om sträng är null returnerar funktionen en tom sträng. Om det inte finns några numChar tecken kvar i sträng från position posreturneras så många tecken som möjligt.

Datagenereringsfunktioner

Datagenereringsfunktioner används för att generera värden för specifika datatyper.

CRLF Detalj
Beskrivning CRLF-funktionen genererar en vagnretur/radmatning. Använd den här funktionen för att lägga till en ny rad.
Funktionssignatur String CRLF
Ingångar Ingen.
Verksamhet En CRLF returneras. Till exempel:
AddressLine1 + CRLF() + AddressLine2
resulterar i AddressLine1
AddressLine2.
Utdata En CRLF är utdata.

RandomNum Detalj
Beskrivning Funktionen RandomNum returnerar ett slumpmässigt tal inom ett angivet intervall.
Funktionssignatur Int RandomNum(start, end)
Ingångar
  • starta: Ett tal som identifierar den lägre gränsen för det slumpmässiga värde som ska genereras.
  • slut: Ett tal som identifierar den övre gränsen för det slumpmässiga värde som ska genereras.
Verksamhet Ett slumptal större än eller lika med starta och mindre än eller lika med slut genereras. Till exempel: Random(0,999) kan returnera 100.
Utdata Ett slumptal inom det intervall som anges av starta och slut.

EscapeDNComponent Detalj
Beskrivning Metoden EscapeDNComponent från MIISUtils används för att utföra den här åtgärden. Den här metoden bearbetar indatasträngen baserat på vilken typ av hanteringsagent (MA) som används.
Funktionssignatur String EscapeDNComponent(string)
Ingångar sträng: En sträng som används för att bearbeta ett unikt namn. Strängen får inte innehålla undantagna tecken.
Verksamhet Olika MA:er kräver olika unika namnformat. Den här metoden bearbetar indata sträng baserat på följande MA-typer:
  • LDAP-unikt namn: Exempel av den här MA-typen är Active Directory Domain Services, Sun Directory Server (tidigare iPlanet Directory Server) och Microsoft Exchange Server.
    • Ogiltiga XML-tecken i värdedelen av en viss del är hexadecimalkodade.
    • Eventuella ogiltiga tecken (inklusive ogiltiga XML-tecken) i namndelen av en viss del genererar ett fel.
    • Undantagna tecken inkluderar kommatecken (,), lika med (=), plus (+), mindre än (<), större än (>), tal (#), semikolon (;), omvänt snedstreck () och dubbelt citattecken (").
    • Om det sista tecknet i strängen är ett blanksteg ( ), är det utrymmet undantaget.
    • Eventuella överflödiga inledande eller avslutande blanksteg runt ett delnamn tas bort.
    • Om det finns flera delar för XML MA alfabetiseras delarna.
    • Om flera delar anges är den sammansatta unika namnsträngen sammanlänkningen av de enskilda strängarna avgränsade med plustecken (+).
    • Ett fel genereras om indata sträng inte är en välformulerad namnsträng i LDAP-format.
  • Hierarkisk icke-LDAP-: Ett exempel på den här typen av MA är Microsoft Lotus Notes.
    • Den här MA-typen stöder inte komponenter med flera delar.
    • Om flera strängar skickas till EscapeDNComponentgenereras ett ArgumentException-.
    • Om något av tecknen i indatasträngen är ogiltiga XML-tecken genereras ett ArgumentException-.
    • Alla kommatecken (,) och omvänt snedstreck (/) i indata strängen är undantagna.
    • Om det sista tecknet i strängen är ett blanksteg ( ), är det utrymmet undantaget.
  • Extrinsic: Exempel på den här MA-typen är databaser eller XML utan ett unikt LDAP-namn.
    • Om någon del är binär eller innehåller ett ogiltigt XML-tecken lagras den delen som en hexadecimalkodad version av rådata med ett taltecken (#) prefix framför strängen. Om en del till exempel var AxC (där x representerar ett ogiltigt XML-tecken, till exempel 0x10), kodas den delen som #410010004300. Annars är alla instanser av dessa tecken undantagna: omvänt snedstreck (), kommatecken (,), plus (+) och tal (#).
    • Om det sista tecknet i en viss delsträng är ett blanksteg ( ), är det utrymmet undantaget.
    • Om flera delar anges är den sammansatta unika namnsträngen sammanlänkningen av alla enskilda strängar avgränsade med plustecken.
Utdata En sträng som innehåller ett giltigt domännamn.

Anmärkning

Valideringen av unika namn är mindre strikt än syntaxen som definieras i LDAP-specifikationerna. EscapeDNComponent(String[]) tillåter att ett delnamn innehåller en kombination av ett eller flera av tecknen 'a'-'z', 'A'-'Z', '0'-'9', '-' och '.'.

Det går inte att ange en binär del med den här metoden. Det är dock möjligt att ha en binär del i CommitNewConnector- om det unika namnet konstrueras från fästpunktsattribut och ett av fästpunktsattributen är en binär typ.


Noll Detalj
Beskrivning Null-funktionen används för att ange att MA inte har något attribut att bidra med, och att attributprioretensen ska fortsätta med nästa MA.
Funktionssignatur String Null
Ingångar Ingen.
Verksamhet En null returneras. Till exempel: IIF(Eq(domain), "unknown", Null()) returnerar Null.
Utdata Null är utdata.

Logic Functions

Logikfunktioner används för att utföra en åtgärd baserat på villkor som utvärderas av systemet.

IIF Detalj
Beskrivning Funktionen IIF returnerar ett av en uppsättning möjliga värden baserat på ett angivet villkor.
Funktionssignatur Object IIF(condition, valueIfTrue, valueIfFalse)
Ingångar
  • villkor: Alla värden eller uttryck som kan utvärderas till sant eller falskt. Följande funktioner är tillgängliga för användning som uttryck i IIF-funktionen för det villkoret:
    • Eq: Den här funktionen jämför två argument för likhet.
    • NotEquals: Den här funktionen jämför två argument för ojämlikhet och returnerar sant om de inte är lika och falska om de är lika. Till exempel: NotEquals(EmployeeType, "Contractor").
    • LessThan: Den här funktionen jämför två tal och returnerar sant om den första är mindre än den andra och annars falskt. Till exempel: LessThan(Salary, 100000).
    • GreaterThan: Den här funktionen jämför två tal och returnerar sant om det första är större än det andra och falskt annars. Till exempel: GreaterThan(Salary, 100000).
    • LessThanOrEquals: Den här funktionen jämför två tal och returnerar sant om det första är mindre än eller lika med det andra och annars falskt. Till exempel: LessThanOrEquals(Salary, 100000).
    • GreaterThanOrEquals: Den här funktionen jämför två tal och returnerar sant om den första är större än eller är lika med den andra och annars falskt. Till exempel: GreaterThanOrEquals(Salary, 100000).
    • IsPresent: Den här funktionen tar som indata ett attribut i ILM-schemat och returnerar sant om attributet inte är null och falskt om attributet är null.
  • valueIfTrue: Ett värde som returneras om villkoret utvärderas till true.
  • valueIfFalse: Ett värde som returneras om villkoret utvärderas till false.
Verksamhet Om villkor utvärderas till sant returnerar funktionen valueIfTrue. Annars returnerar funktionen valueIfFalse. Exempel: IIF(Eq(EmployeeType,"Intern"),"t-" + Alias, Alias) returnerar aliaset för en användare med "t-" som läggs till i början av aliaset om användaren är en praktikant. Annars returnerar funktionen användarens alias as-is.
Utdata Utdata är valueIfTrue om villkoret är sant, eller valueIfFalse om villkoret är falskt.