Microsoft Entra Connect Sync: Referenční informace o funkcích
Ve službě Microsoft Entra Connect se funkce používají k manipulaci s hodnotou atributu během synchronizace.
Syntaxe funkcí je vyjádřena pomocí následujícího formátu:
<output type> FunctionName(<input type> <position name>, ..)
Pokud je funkce přetížená a přijímá více syntaxí, jsou uvedeny všechny platné syntaxe.
Funkce jsou silného typu a ověřují, že typ předaný v dokumentu odpovídá dokumentu.
Pokud se typ neshoduje, vyvolá se chyba.
Typy jsou vyjádřeny následující syntaxí:
- bin – binární
- bool – logická hodnota
- dt – datum a čas UTC
- výčet – výčet známých konstant
- exp – Výraz, který se má vyhodnotit na logickou hodnotu
- mvbin – binární soubor s více hodnotami
- mvstr – řetězec s více hodnotami
- mvref – Odkaz s více hodnotami
- číslo – číselné
- ref – referenční dokumentace
- str – řetězec
- var – Varianta (téměř) jakéhokoli jiného typu
- void – nevrací hodnotu.
Funkce s typy mvbin, mvstr a mvref mohou pracovat pouze na atributech s více hodnotami. Funkce s přihrádkou, str a ref pracují na atributech s jednou hodnotou i s více hodnotami.
Reference k funkcím
- Certifikát
- CertExtensionOids
- CertFormat
- CertFriendlyName
- CertHashString
- CertIssuer
- CertIssuerDN
- CertIssuerOid
- CertKeyAlgorithm
- CertKeyAlgorithmParams
- CertNameInfo
- CertNotAfter
- CertNotBefore
- CertPublicKeyOid
- CertPublicKeyParametersOid
- CertSerialNumber
- CertSignatureAlgorithmOid
- CertSubject
- CertSubjectNameDN
- CertSubjectNameOid
- CertThumbprint
- CertVersion
- IsCert
- Přeměna
- Datum a čas
- Adresář
- Vyhodnocení
- Matematika
- Více hodnot
- Tok programu
- Text
BitAnd
Popis:
Funkce BitAnd nastaví zadané bity na hodnotu.
Syntaxe:
num BitAnd(num value1, num value2)
- hodnota1, hodnota2: číselné hodnoty, které by měly být společně
Poznámky:
Tato funkce převede oba parametry na binární reprezentaci a nastaví bit na:
- 0 – pokud jeden nebo oba odpovídající bity v hodnotě 1 a hodnota2 jsou 0
- 1 – pokud jsou oba odpovídající bity 1.
Jinými slovy, vrátí hodnotu 0 ve všech případech s výjimkou případů, kdy jsou odpovídající bity obou parametrů 1.
Příklad:
BitAnd(&HF, &HF7)
Vrátí hodnotu 7, protože hexadecimální "F" AND "F7" se vyhodnotí na tuto hodnotu.
BitOr
Popis:
Funkce BitOr nastaví zadané bity na hodnotu.
Syntaxe:
num BitOr(num value1, num value2)
- hodnota1, hodnota2: číselné hodnoty, které by měly být společně
Poznámky:
Tato funkce převede oba parametry na binární reprezentaci a nastaví bit na 1, pokud jeden nebo oba odpovídající bity v masce a příznak jsou 1 a na 0, pokud jsou oba odpovídající bity 0. Jinými slovy, vrátí hodnotu 1 ve všech případech s výjimkou případů, kdy odpovídající bity obou parametrů jsou 0.
CBool
Popis:
Funkce CBool vrátí logickou hodnotu na základě vyhodnoceného výrazu.
Syntaxe:
bool CBool(exp Expression)
Poznámky:
Pokud se výraz vyhodnotí jako nenulová hodnota, vrátí funkce CBool hodnotu True, jinak vrátí hodnotu False.
Příklad:
CBool([attrib1] = [attrib2])
Vrátí hodnotu True, pokud oba atributy mají stejnou hodnotu.
Datum v jazyce CDate
Popis:
Funkce CDate vrátí hodnotu DateTime UTC z řetězce. DateTime není nativní typ atributu v Sync, ale používá některé funkce.
Syntaxe:
dt CDate(str value)
- Hodnota: Řetězec s datem, časem a volitelným časovým pásmem
Poznámky:
Vrácený řetězec je vždy ve standardu UTC.
Příklad:
CDate([employeeStartTime])
Vrátí hodnotu DateTime na základě času zahájení zaměstnance.
CDate("2013-01-10 4:00 PM -8")
Vrátí hodnotu DateTime představující "2013-01-11 12:00"
CertExtensionOids
Popis:
Vrátí hodnoty Oid všech důležitých rozšíření objektu certifikátu.
Syntaxe:
mvstr CertExtensionOids(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertFormat
Popis:
Vrátí název formátu tohoto certifikátu X.509v3.
Syntaxe:
str CertFormat(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertFriendlyName
Popis:
Vrátí přidružený alias pro certifikát.
Syntaxe:
str CertFriendlyName(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertHashString
Popis:
Vrátí hodnotu hash SHA1 pro certifikát X.509v3 jako šestnáctkový řetězec.
Syntaxe:
str CertHashString(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertIssuer
Popis:
Vrátí název certifikační autority, která vydala certifikát X.509v3.
Syntaxe:
str CertIssuer(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertIssuerDN
Popis:
Vrátí rozlišující název vystavitele certifikátu.
Syntaxe:
str CertIssuerDN(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertIssuerOid
Popis:
Vrátí hodnotu Oid vystavitele certifikátu.
Syntaxe:
str CertIssuerOid(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertKeyAlgorithm
Popis:
Vrátí informace o klíči algoritmu pro tento certifikát X.509v3 jako řetězec.
Syntaxe:
str CertKeyAlgorithm(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertKeyAlgorithmParams
Popis:
Vrátí parametry klíčového algoritmu pro certifikát X.509v3 jako šestnáctkový řetězec.
Syntaxe:
str CertKeyAlgorithm(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertNameInfo
Popis:
Vrátí názvy subjektů a vystavitelů z certifikátu.
Syntaxe:
str CertNameInfo(binary certificateRawData, str x509NameType, bool includesIssuerName)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
- X509NameType: Hodnota X509NameType pro předmět.
- includeIssuerName: true pro zahrnutí názvu vystavitele; jinak nepravda.
CertNotAfter
Popis:
Vrátí datum v místním čase, po kterém už certifikát není platný.
Syntaxe:
dt CertNotAfter(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertNotBefore
Popis:
Vrátí datum v místním čase, kdy se certifikát stane platným.
Syntaxe:
dt CertNotBefore(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertPublicKeyOid
Popis:
Vrátí hodnotu Oid veřejného klíče pro certifikát X.509v3.
Syntaxe:
str CertKeyAlgorithm(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertPublicKeyParametersOid
Popis:
Vrátí hodnotu Oid parametrů veřejného klíče pro certifikát X.509v3.
Syntaxe:
str CertPublicKeyParametersOid(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertSerialNumber
Popis:
Vrátí sériové číslo certifikátu X.509v3.
Syntaxe:
str CertSerialNumber(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertSignatureAlgorithmOid
Popis:
Vrátí hodnotu Oid algoritmu použitého k vytvoření podpisu certifikátu.
Syntaxe:
str CertSignatureAlgorithmOid(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertSubject
Popis:
Získá rozlišující název subjektu od certifikátu.
Syntaxe:
str CertSubject(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertSubjectNameDN
Popis:
Vrátí rozlišující název subjektu od certifikátu.
Syntaxe:
str CertSubjectNameDN(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertSubjectNameOid
Popis:
Vrátí hodnotu Oid názvu subjektu z certifikátu.
Syntaxe:
str CertSubjectNameOid(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertThumbprint
Popis:
Vrátí kryptografický otisk certifikátu.
Syntaxe:
str CertThumbprint(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CertVersion
Popis:
Vrátí verzi formátu X.509 certifikátu.
Syntaxe:
str CertThumbprint(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
CGuid
Popis:
Funkce CGuid převede řetězcovou reprezentaci identifikátoru GUID na binární reprezentaci.
Syntaxe:
bin CGuid(str GUID)
- Řetězec formátovaný v tomto vzoru: 00001111-aaaa-2222-bbbb-333cccc44444 nebo {00001111-aaaa-2222-bbbb-3333cccc4444}
Contains
Popis:
Funkce Contains najde řetězec uvnitř atributu s více hodnotami.
Syntaxe:
num Contains (mvstring attribute, str search)
– rozlišují se malá a velká písmena.
num Contains (mvstring attribute, str search, enum Casetype)
num Contains (mvref attribute, str search)
– rozlišují se malá a velká písmena.
- attribute: atribut s více hodnotami, který se má prohledávat.
- search: řetězec, který se má v atributu najít.
- Casetype: CaseInsensitive nebo CaseSensitive.
Vrátí index v atributu s více hodnotami, ve kterém byl řetězec nalezen. Pokud řetězec nebyl nalezen, vrátí se hodnota 0.
Poznámky:
U atributů řetězce s více hodnotami vyhledá hledání v hodnotách podřetězce.
Pro referenční atributy musí hledaný řetězec přesně odpovídat hodnotě, která má být považována za shodu.
Příklad:
IIF(Contains([proxyAddresses],"SMTP:")>0,[proxyAddresses],Error("No primary SMTP address found."))
Pokud má atribut proxyAddresses primární e-mailovou adresu (označenou velkým písmenem SMTP:), vraťte atribut proxyAddress, jinak vrátí chybu.
ConvertFromBase64
Popis:
Funkce ConvertFromBase64 převede zadanou hodnotu s kódováním base64 na běžný řetězec.
Syntaxe:
str ConvertFromBase64(str source)
– předpokládá kódování Unicode.
str ConvertFromBase64(str source, enum Encoding)
- zdroj: Řetězec kódovaný v base64
- Kódování: Unicode, ASCII, UTF8
Příklad
ConvertFromBase64("SABlAGwAbABvACAAdwBvAHIAbABkACEA")
ConvertFromBase64("SGVsbG8gd29ybGQh", UTF8)
Oba příklady vrací "Hello world!"
ConvertFromUTF8Hex
Popis:
Funkce ConvertFromUTF8Hex převede zadanou hodnotu kódování UTF8 Hex na řetězec.
Syntaxe:
str ConvertFromUTF8Hex(str source)
- zdroj: kódování UTF8 2-byte sting
Poznámky:
Rozdíl mezi touto funkcí a convertFromBase64([],UTF8) v tom, že výsledek je popisný pro atribut DN.
Tento formát používá Microsoft Entra ID jako DN.
Příklad:
ConvertFromUTF8Hex("48656C6C6F20776F726C6421")
Vrátí "Hello world!"
ConvertToBase64
Popis:
Funkce ConvertToBase64 převede řetězec na řetězec Unicode base64.
Převede hodnotu pole celých čísel na ekvivalentní řetězcové vyjádření, které je kódováno pomocí číslic base-64.
Syntaxe:
str ConvertToBase64(str source)
Příklad:
ConvertToBase64("Hello world!")
Vrátí "SABlAGwAbABvACAAdwBvAHIAbABkACEA"
ConvertToUTF8Hex
Popis:
Funkce ConvertToUTF8Hex převede řetězec na šestnáctkovou hodnotu UTF8.
Syntaxe:
str ConvertToUTF8Hex(str source)
Poznámky:
Výstupní formát této funkce používá Microsoft Entra ID jako formát atributu DN.
Příklad:
ConvertToUTF8Hex("Hello world!")
Vrátí hodnotu 48656C6C6F20776F726C6421.
Počet
Popis:
Funkce Count vrátí počet prvků v atributu s více hodnotami.
Syntaxe:
num Count(mvstr attribute)
Číslo C
Popis:
Funkce CNum přebírá řetězec a vrací číselný datový typ.
Syntaxe:
num CNum(str value)
CRef
Popis:
Převede řetězec na atribut odkazu.
Syntaxe:
ref CRef(str value)
Příklad:
CRef("CN=LC Services,CN=Microsoft,CN=lcspool01,CN=Pools,CN=RTC Service," & %Forest.LDAP%)
CStr
Popis:
Funkce CStr se převede na datový typ řetězce.
Syntaxe:
str CStr(num value)
str CStr(ref value)
str CStr(bool value)
- value: Může to být číselná hodnota, atribut odkazu nebo logická hodnota.
Příklad:
CStr([dn])
Mohl by vrátit "cn=Joe,dc=contoso,dc=com"
DateAdd
Popis:
Vrátí datum obsahující datum, do kterého byl přidán zadaný časový interval.
Syntaxe:
dt DateAdd(str interval, num value, dt date)
- interval: Řetězcový výraz, který je intervalem času, který chcete přidat. Řetězec musí mít jednu z následujících hodnot:
- yyyy Year
- q Quarter
- m Měsíc
- Den roku y
- d Den
- w Pracovní den
- ww Week
- h Hodina
- n Minuta
- s Sekunda
- hodnota: Počet jednotek, které chcete přidat. Může to být kladné (získání kalendářních dat v budoucnu) nebo záporné (pro získání dat v minulosti).
- dateTime představující datum, ke kterému se interval přidá.
Příklad:
DateAdd("m", 3, CDate("2001-01-01"))
Přičte 3 měsíce a vrátí dateTime představující "2001-04-01".
DateFromNum
Popis:
Funkce DateFromNum převede hodnotu ve formátu data AD na typ DateTime.
Syntaxe:
dt DateFromNum(num value)
Příklad:
DateFromNum([lastLogonTimestamp])
DateFromNum(129699324000000000)
Vrátí hodnotu DateTime představující datum 2012-01-01 23:00:00.
DNComponent
Popis:
Funkce DNComponent vrátí hodnotu zadané součásti DN, která se vrací zleva.
Syntaxe:
str DNComponent(ref dn, num ComponentNumber)
- dn: atribut odkazu, který se má interpretovat
- ComponentNumber: Komponenta v DN, která se má vrátit
Příklad:
DNComponent(CRef([dn]),1)
Pokud je "cn=Joe,ou=...", vrátí Joea.
DNComponentRev
Popis:
Funkce DNComponentRev vrátí hodnotu zadané součásti DN, která jde zprava (konec).
Syntaxe:
str DNComponentRev(ref dn, num ComponentNumber)
str DNComponentRev(ref dn, num ComponentNumber, enum Options)
- dn: atribut odkazu, který se má interpretovat
- ComponentNumber – komponenta v DN, která se má vrátit
- Možnosti: DC – přeskočení všech součástí pomocí "dc="
Příklad:
Pokud je dn "cn=Joe,ou=Atlanta,ou=GA,ou=US, dc=contoso,dc=com" pak
DNComponentRev(CRef([dn]),3)
DNComponentRev(CRef([dn]),1,"DC")
Oba vrátí USA.
Chyba
Popis:
Funkce Error se používá k vrácení vlastní chyby.
Syntaxe:
void Error(str ErrorMessage)
Příklad:
IIF(IsPresent([accountName]),[accountName],Error("AccountName is required"))
Pokud atribut accountName není k dispozici, vyvolá chybu objektu.
EscapeDNComponent
Popis:
Funkce EscapeDNComponent přebírá jednu komponentu DN a uchycuje ji, aby ji bylo možné znázornět v protokolu LDAP.
Syntaxe:
str EscapeDNComponent(str value)
Příklad:
EscapeDNComponent("cn=" & [displayName]) & "," & %ForestLDAP%)
Zajišťuje, aby byl objekt vytvořen v adresáři LDAP, i když atribut displayName obsahuje znaky, které musí být v protokolu LDAP uchvácené.
FormatDateTime
Popis:
Funkce FormatDateTime se používá k formátování data a času na řetězec se zadaným formátem.
Syntaxe:
str FormatDateTime(dt value, str format)
- value: hodnota ve formátu DateTime
- format: řetězec představující formát, na který se má převést.
Poznámky:
Možné hodnoty pro formát najdete tady: Vlastní formáty data a času pro funkci FORMAT.
Příklad:
FormatDateTime(CDate("12/25/2007"),"yyyy-MM-dd")
Výsledkem je "2007-12-25".
FormatDateTime(DateFromNum([pwdLastSet]),"yyyyMMddHHmmss.0Z")
Výsledkem může být "20140905081453.0Z"
Guid
Popis:
Identifikátor GUID funkce vygeneruje nový náhodný identifikátor GUID.
Syntaxe:
str Guid()
IIF
Popis:
Funkce IIF vrátí jednu ze sady možných hodnot na základě zadané podmínky.
Syntaxe:
var IIF(exp condition, var valueIfTrue, var valueIfFalse)
- podmínka: libovolná hodnota nebo výraz, které lze vyhodnotit na hodnotu true nebo false.
- valueIfTrue: Pokud se podmínka vyhodnotí jako true, vrácená hodnota.
- valueIfFalse: Pokud je podmínka vyhodnocena jako false, vrácená hodnota.
Příklad:
IIF([employeeType]="Intern","t-" & [alias],[alias])
Pokud je uživatel internem, vrátí alias uživatele s "t-" přidaným na začátek, jinak vrátí alias uživatele tak, jak je.
Instr
Popis:
Funkce InStr najde první výskyt podřetězce v řetězci.
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: řetězec, který se má prohledávat
- stringmatch: řetězec, který se má najít
- start: počáteční pozice pro vyhledání podřetězdce
- compare: vbTextCompare nebo vbBinaryCompare
Poznámky:
Vrátí pozici, kde byl nalezen podřetězen nebo 0, pokud nebyl nalezen.
Příklad:
InStr("The quick brown fox","quick")
Vyhodnotí se jako 5.
InStr("repEated","e",3,vbBinaryCompare)
Vyhodnotí se jako 7.
InStrRev
Popis:
Funkce InStrRev najde poslední výskyt podřetězce v řetězci.
Syntaxe:
num InstrRev(str stringcheck, str stringmatch)
num InstrRev(str stringcheck, str stringmatch, num start)
num InstrRev(str stringcheck, str stringmatch, num start, enum compare)
- stringcheck: řetězec, který se má prohledávat
- stringmatch: řetězec, který se má najít
- start: počáteční pozice pro vyhledání podřetězdce
- compare: vbTextCompare nebo vbBinaryCompare
Poznámky:
Vrátí pozici, kde byl nalezen podřetězen nebo 0, pokud nebyl nalezen.
Příklad:
InStrRev("abbcdbbbef","bb")
Vrátí hodnotu 7.
IsBitSet
Popis:
Funkce IsBitSet Tests, pokud je bit nastavený nebo ne
Syntaxe:
bool IsBitSet(num value, num flag)
- value: číselná hodnota, která je vyhodnocena.flag: číselná hodnota s bitem, který má být vyhodnocen.
Příklad:
IsBitSet(&HF,4)
Vrátí hodnotu True, protože bit "4" je nastaven v šestnáctkové hodnotě "F"
IsDate
Popis:
Pokud lze výraz vyhodnotit jako typ DateTime, funkce IsDate se vyhodnotí jako True.
Syntaxe:
bool IsDate(var Expression)
Poznámky:
Slouží k určení, jestli může být CDate() úspěšný.
IsCert
Popis:
Vrátí hodnotu true, pokud nezpracovaná data lze serializovat do objektu certifikátu .NET X509Certificate2.
Syntaxe:
bool CertThumbprint(binary certificateRawData)
- certificateRawData: Reprezentace bajtového pole certifikátu X.509 Bajtové pole může být binární kódování (DER) nebo data X.509 s kódováním Base64.
IsEmpty
Popis:
Pokud se atribut nachází v CS nebo MV, ale vyhodnotí se jako prázdný řetězec, funkce IsEmpty se vyhodnotí jako True.
Syntaxe:
bool IsEmpty(var Expression)
IsGuid
Popis:
Pokud je možné řetězec převést na identifikátor GUID, funkce IsGuid se vyhodnotí jako true.
Syntaxe:
bool IsGuid(str GUID)
Poznámky:
Identifikátor GUID je definován jako řetězec s jedním z těchto vzorů: 00001111-aaaa-2222-bbbb-3333cccc44444 nebo {00001111-aaaa-2222-bbbb-3333cccc4444}
Slouží k určení, jestli může být CGuid() úspěšný.
Příklad:
IIF(IsGuid([strAttribute]),CGuid([strAttribute]),NULL)
Pokud strAttribute má formát GUID, vrátit binární reprezentaci, jinak vrátit Hodnotu Null.
IsNull
Popis:
Pokud se výraz vyhodnotí jako Null, vrátí funkce IsNull hodnotu true.
Syntaxe:
bool IsNull(var Expression)
Poznámky:
Pro atribut je null vyjádřena absencí atributu.
Příklad:
IsNull([displayName])
Vrátí hodnotu True, pokud atribut není k dispozici v cs nebo MV.
IsNullOrEmpty
Popis:
Pokud je výraz null nebo prázdný řetězec, vrátí funkce IsNullOrEmpty hodnotu true.
Syntaxe:
bool IsNullOrEmpty(var Expression)
Poznámky:
U atributu by se tento atribut vyhodnotil jako True, pokud atribut chybí nebo je k dispozici, ale je prázdný řetězec.
Inverzní funkce má název IsPresent.
Příklad:
IsNullOrEmpty([displayName])
Vrátí hodnotu True, pokud atribut neexistuje nebo je prázdný řetězec v cs nebo MV.
IsNumeric
Popis:
Funkce IsNumeric vrátí logickou hodnotu označující, zda lze výraz vyhodnotit jako typ čísla.
Syntaxe:
bool IsNumeric(var Expression)
Poznámky:
Používá se k určení, jestli může být CNum() úspěšný k analýze výrazu.
IsString
Popis:
Pokud lze výraz vyhodnotit na typ řetězce, funkce IsString se vyhodnotí jako True.
Syntaxe:
bool IsString(var expression)
Poznámky:
Slouží k určení, jestli může být CStr() úspěšný k analýze výrazu.
IsPresent
Popis:
Pokud se výraz vyhodnotí jako řetězec, který není null a není prázdný, vrátí funkce IsPresent hodnotu true.
Syntaxe:
bool IsPresent(var expression)
Poznámky:
Inverzní funkce má název IsNullOrEmpty.
Příklad:
Switch(IsPresent([directManager]),[directManager], IsPresent([skiplevelManager]),[skiplevelManager], IsPresent([director]),[director])
Položka
Popis:
Funkce Item vrátí jednu položku z vícehodnotového řetězce nebo atributu.
Syntaxe:
var Item(mvstr attribute, num index)
- attribute: atribut s více hodnotami
- index: index na položku v řetězci s více hodnotami.
Poznámky:
Funkce Item je užitečná společně s funkcí Contains, protože druhá funkce vrátí index k položce v atributu s více hodnotami.
Vyvolá chybu, pokud je index mimo hranice.
Příklad:
Mid(Item([proxyAddresses],Contains([proxyAddresses], "SMTP:")),6)
Vrátí primární e-mailovou adresu.
ItemOrNull
Popis:
Funkce ItemOrNull vrátí jednu položku z vícehodnotového řetězce nebo atributu.
Syntaxe:
var ItemOrNull(mvstr attribute, num index)
- attribute: atribut s více hodnotami
- index: index na položku v řetězci s více hodnotami.
Poznámky:
Funkce ItemOrNull je užitečná společně s funkcí Contains, protože druhá funkce vrátí index k položce v atributu s více hodnotami.
Pokud je index mimo hranice, vrátí hodnotu Null.
Připojení
Popis:
Funkce Join přebírá řetězec s více hodnotami a vrátí řetězec s jednou hodnotou s zadaným oddělovačem vloženým mezi každou položku.
Syntaxe:
str Join(mvstr attribute)
str Join(mvstr attribute, str Delimiter)
- attribute: Atribut s více hodnotami obsahující řetězce, které mají být spojeny.
- oddělovač: Libovolný řetězec, který slouží k oddělení podřetězců ve vráceném řetězci. Pokud tento argument vynecháte, použije se znak mezery (" "). Pokud je oddělovačem řetězec nulové délky ("") nebo Nothing, všechny položky v seznamu jsou zřetězeny bez oddělovačů.
Poznámky
Mezi funkcemi Join a Split existuje parita. Funkce Join vezme pole řetězců a spojí je pomocí řetězce oddělovače a vrátí jeden řetězec. Funkce Split přebírá řetězec a odděluje ho v oddělovači, aby vrátila pole řetězců. Klíčovým rozdílem však je, že Join může zřetězení řetězců s libovolným řetězcem oddělovače rozdělit pouze řetězce pomocí jednoho znakového oddělovače.
Příklad:
Join([proxyAddresses],",")
Mohlo by se vrátit: SMTP:john.doe@contoso.com, smtp:jd@contoso.com
LCase
Popis:
Funkce LCase převede všechny znaky v řetězci na malá písmena.
Syntaxe:
str LCase(str value)
Příklad:
LCase("TeSt")
Vrátí "test".
Šipka vlevo
Popis:
Funkce Vlevo vrátí zadaný počet znaků zleva od řetězce.
Syntaxe:
str Left(str string, num NumChars)
- string: řetězec pro vrácení znaků z
- NumChars: číslo určující počet znaků, které se mají vrátit od začátku (vlevo) řetězce
Poznámky:
Řetězec obsahující první znaky numChars v řetězci:
- Pokud numChars = 0, vrátí prázdný řetězec.
- Pokud numChars < 0, vrátí vstupní řetězec.
- Pokud je řetězec null, vraťte prázdný řetězec.
Pokud řetězec obsahuje méně znaků než číslo zadané v numChars, vrátí se řetězec shodný s řetězcem (tj. obsahující všechny znaky v parametru 1).
Příklad:
Left("John Doe", 3)
Vrátí "Joh".
Len
Popis:
Funkce Len vrátí počet znaků v řetězci.
Syntaxe:
num Len(str value)
Příklad:
Len("John Doe")
Vrátí hodnotu 8.
LTrim
Popis:
Funkce LTrim odebere z řetězce úvodní prázdné znaky.
Syntaxe:
str LTrim(str value)
Příklad:
LTrim(" Test ")
Vrátí "test"
Mid
Popis:
Funkce Mid vrátí zadaný počet znaků ze zadané pozice v řetězci.
Syntaxe:
str Mid(str string, num start, num NumChars)
- string: řetězec pro vrácení znaků z
- start: číslo identifikující počáteční pozici v řetězci pro vrácení znaků z
- NumChars: číslo určující počet znaků, které se mají vrátit z pozice v řetězci
Poznámky:
Vrátí znaky numChars začínající od pozice začínající v řetězci.
Řetězec obsahující znaky numChars od pozice začíná v řetězci:
- Pokud numChars = 0, vrátí prázdný řetězec.
- Pokud numChars < 0, vrátí vstupní řetězec.
- Pokud začíná > délka řetězce, vraťte vstupní řetězec.
- Pokud je začátek <= 0, vraťte vstupní řetězec.
- Pokud je řetězec null, vraťte prázdný řetězec.
Pokud v řetězci od začátku pozice nezůstaly znaky numChar, vrátí se co nejvíce znaků.
Příklad:
Mid("John Doe", 3, 5)
Vrátí "hn Do".
Mid("John Doe", 6, 999)
Vrátí "Doe"
Now
Popis:
Funkce Now vrátí dateTime určující aktuální datum a čas podle systémového data a času počítače.
Syntaxe:
dt Now()
NumFromDate
Popis:
Funkce NumFromDate vrátí datum ve formátu data AD.
Syntaxe:
num NumFromDate(dt value)
Příklad:
NumFromDate(CDate("2012-01-01 23:00:00"))
Vrátí 129699324000000000
PadLeft
Popis:
Funkce PadLeft vlevo vycpá řetězec na zadanou délku pomocí zadaného znaku odsazení.
Syntaxe:
str PadLeft(str string, num length, str padCharacter)
- řetězec: řetězec, který se má vysunout.
- délka: Celé číslo představující požadovanou délku řetězce.
- padCharacter: Řetězec skládající se z jednoho znaku, který se má použít jako znak oblasti
Poznámky:
- Pokud je délka řetězce menší než délka, pak padCharacter je opakovaně připojen k začátku (vlevo) řetězce, dokud nemá délku rovnou délce.
- PadCharacter může být znak mezery, ale nemůže to být hodnota null.
- Pokud je délka řetězce rovna nebo větší než délka, vrátí se řetězec beze změny.
- Pokud má řetězec délku větší nebo rovnou délce, vrátí se řetězec shodný s řetězcem.
- Pokud je délka řetězce menší než délka, vrátí se nový řetězec požadované délky obsahující řetězec vycpaný s padCharacter.
- Pokud je řetězec null, vrátí funkce prázdný řetězec.
Příklad:
PadLeft("User", 10, "0")
Vrátí hodnotu 000000User.
PadRight
Popis:
Funkce PadRight zprava vloží řetězec na zadanou délku pomocí poskytnutého znaku odsazení.
Syntaxe:
str PadRight(str string, num length, str padCharacter)
- řetězec: řetězec, který se má vysunout.
- délka: Celé číslo představující požadovanou délku řetězce.
- padCharacter: Řetězec skládající se z jednoho znaku, který se má použít jako znak oblasti
Poznámky:
- Pokud je délka řetězce menší než délka, pak padCharacter se opakovaně připojí ke konci (vpravo) řetězce, dokud se délka nerovná délce.
- padCharacter může být znak mezery, ale nemůže to být hodnota null.
- Pokud je délka řetězce rovna nebo větší než délka, vrátí se řetězec beze změny.
- Pokud má řetězec délku větší nebo rovnou délce, vrátí se řetězec shodný s řetězcem.
- Pokud je délka řetězce menší než délka, vrátí se nový řetězec požadované délky obsahující řetězec vycpaný s padCharacter.
- Pokud je řetězec null, vrátí funkce prázdný řetězec.
Příklad:
PadRight("User", 10, "0")
Vrátí hodnotu User0000000.
PCase
Popis:
Funkce PCase převede první znak každého slova odděleného mezerou v řetězci na velká písmena a všechny ostatní znaky se převedou na malá písmena.
Syntaxe:
String PCase(string)
Poznámky:
- Tato funkce v současné době neposkytuje správné velikosti písmen pro převod slova, které je zcela velkými písmeny, například zkratka.
Příklad:
PCase("TEsT")
Vrátí "test".
PCase(LCase("TEST"))
Vrátí "test"
RandomNum
Popis:
Funkce RandomNum vrátí náhodné číslo mezi zadaným intervalem.
Syntaxe:
num RandomNum(num start, num end)
- start: číslo identifikující dolní limit náhodné hodnoty, která se má vygenerovat
- end: číslo určující horní mez náhodné hodnoty, která se má vygenerovat.
Příklad:
Random(100,999)
Může vrátit hodnotu 734.
Odebrání duplicitních dat
Popis:
Funkce RemoveDuplicates přebírá řetězec s více hodnotami a ujistěte se, že každá hodnota je jedinečná.
Syntaxe:
mvstr RemoveDuplicates(mvstr attribute)
Příklad:
RemoveDuplicates([proxyAddresses])
Vrátí sanitizovaný atribut proxyAddress, kde byly odebrány všechny duplicitní hodnoty.
Nahradit
Popis:
Funkce Replace nahradí všechny výskyty řetězce jiným řetězcem.
Syntaxe:
str Replace(str string, str OldValue, str NewValue)
- řetězec: Řetězec, ve které se mají nahradit hodnoty.
- OldValue: Řetězec, který chcete vyhledat a nahradit.
- NewValue: Řetězec, na který se má nahradit.
Poznámky:
Funkce rozpozná následující speciální monikery:
- \n – nový řádek
- \r – návrat na začátek řádku
- \t – tab
Příklad:
Replace([address],"\r\n",", ")
Nahradí CRLF čárkou a mezerou a může vést k "One Microsoft Way, Redmond, WA, USA"
ReplaceChars
Popis:
Funkce ReplaceChars nahrazuje všechny výskyty znaků nalezených v řetězci ReplacePattern.
Syntaxe:
str ReplaceChars(str string, str ReplacePattern)
- řetězec: Řetězec, ve které se mají nahradit znaky.
- ReplacePattern: řetězec obsahující slovník se znaky, které chcete nahradit.
Formát je {source1}:{target1},{source2}:{target2},{sourceN},{targetN}, kde zdrojem je znak, kterým se má řetězec najít, a cílit na řetězec, kterým se má nahradit.
Poznámky:
- Funkce přebírá každý výskyt definovaných zdrojů a nahrazuje je cíli.
- Zdroj musí být přesně jeden znak (Unicode).
- Zdroj nemůže být prázdný nebo delší než jeden znak (chyba analýzy).
- Cíl může mít více znaků, například ö:oe, β:ss.
- Cíl může být prázdný, což znamená, že by se měl znak odebrat.
- Zdroj rozlišují malá a velká písmena a musí se přesně shodovat.
- Znak , (čárka) a : (dvojtečka) jsou vyhrazené znaky a nelze je nahradit pomocí této funkce.
- Mezery a další bílé znaky v řetězci ReplacePattern jsou ignorovány.
Příklad:
%ReplaceString% = ’:,Å:A,Ä:A,Ö:O,å:a,ä:a,ö,o
ReplaceChars("Räksmörgås",%ReplaceString%)
Vrátí Raksmorgas
ReplaceChars("O’Neil",%ReplaceString%)
Vrátí hodnotu "ONeil", je definováno, že se odebere jednotlivá značka.
Right
Popis:
Funkce Vpravo vrátí zadaný počet znaků z pravého (konce) řetězce.
Syntaxe:
str Right(str string, num NumChars)
- string: řetězec pro vrácení znaků z
- NumChars: číslo určující počet znaků, které se mají vrátit z konce (vpravo) řetězce
Poznámky:
Znaky NumChars se vrátí z poslední pozice řetězce.
Řetězec obsahující poslední znakyChars v řetězci:
- Pokud numChars = 0, vrátí prázdný řetězec.
- Pokud numChars < 0, vrátí vstupní řetězec.
- Pokud je řetězec null, vraťte prázdný řetězec.
Pokud řetězec obsahuje méně znaků než číslo zadané v NumChars, vrátí se řetězec shodný s řetězcem.
Příklad:
Right("John Doe", 3)
Vrátí "Doe".
RTrim
Popis:
Funkce RTrim odebere koncové mezery z řetězce.
Syntaxe:
str RTrim(str value)
Příklad:
RTrim(" Test ")
Vrátí " test".
Vyberte
Popis:
Zpracovat všechny hodnoty ve vícehodnotovém atributu (nebo výstupu výrazu) na základě zadané funkce.
Syntaxe:
mvattr Select(variable item, mvattr attribute, func function)
mvattr Select(variable item, exp expression, func function)
- item: Představuje prvek v atributu s více hodnotami.
- attribute: atribut s více hodnotami
- výraz: výraz, který vrací kolekci hodnot
- condition: libovolná funkce, která může zpracovat položku v atributu
Příklady:
Select($item,[otherPhone],Replace($item,"-",""))
Po odebrání pomlček (-) vrátí všechny hodnoty ve vícehodnotovém atributu jinýPhone.
Rozděleno
Popis:
Funkce Split vezme řetězec oddělený oddělovačem a vytvoří ho jako řetězec s více hodnotami.
Syntaxe:
mvstr Split(str value, str delimiter)
mvstr Split(str value, str delimiter, num limit)
- hodnota: řetězec s oddělovačem, který se má oddělit.
- oddělovač: jeden znak, který se má použít jako oddělovač.
- limit: maximální počet hodnot, které se můžou vrátit.
Příklad:
Split("SMTP:john.doe@contoso.com,smtp:jd@contoso.com",",")
Vrátí řetězec s více hodnotami s 2 prvky užitečnými pro atribut proxyAddress.
StringFromGuid
Popis:
Funkce StringFromGuid přebírá binární identifikátor GUID a převede ji na řetězec.
Syntaxe:
str StringFromGuid(bin GUID)
StringFromSid
Popis:
Funkce StringFromSid převede bajtové pole obsahující identifikátor zabezpečení na řetězec.
Syntaxe:
str StringFromSid(bin ObjectSID)
Přepínač
Popis:
Funkce Switch slouží k vrácení jedné hodnoty na základě vyhodnocených podmínek.
Syntaxe:
var Switch(exp expr1, var value1[, exp expr2, var value … [, exp expr, var valueN]])
- výraz: Výraz variant, který chcete vyhodnotit.
- value: Hodnota, která má být vrácena, pokud je odpovídající výraz True.
Poznámky:
Seznam argumentů funkce Switch se skládá z dvojic výrazů a hodnot. Výrazy se vyhodnocují zleva doprava a vrátí se hodnota přidružená k prvnímu výrazu, který se vyhodnotí jako True. Pokud nejsou části správně spárované, dojde k chybě za běhu.
Pokud je například výraz1 true, vrátí switch hodnotu1. Pokud výraz-1 je False, ale výraz-2 je True, Switch vrátí hodnotu-2 atd.
Přepínač vrátí hodnotu Nothing if:
- Žádný z výrazů není pravdivý.
- První výraz True má odpovídající hodnotu null.
Přepínač vyhodnotí všechny výrazy, i když vrátí jenom jeden z nich. Z tohoto důvodu byste měli sledovat nežádoucí vedlejší účinky. Pokud například vyhodnocení jakéhokoli výrazu vede k dělení nulou chybou, dojde k chybě.
Hodnota může být také funkce Error, která by vrátila vlastní řetězec.
Příklad:
Switch([city] = "London", "English", [city] = "Rome", "Italian", [city] = "Paris", "French", True, Error("Unknown city"))
Vrátí jazyk mluvený v některých hlavních městech, jinak vrátí chybu.
Trim
Popis:
Funkce Trim odebere z řetězce úvodní a koncové mezery.
Syntaxe:
str Trim(str value)
Příklad:
Trim(" Test ")
Vrátí "test".
Trim([proxyAddresses])
Odebere úvodní a koncové mezery pro každou hodnotu v atributu proxyAddress.
UCase
Popis:
Funkce UCase převede všechny znaky v řetězci na velká písmena.
Syntaxe:
str UCase(str string)
Příklad:
UCase("TeSt")
Vrátí "TEST".
Kde
Popis:
Vrátí podmnožinu hodnot z atributu s více hodnotami (nebo výstupu výrazu) na základě konkrétní podmínky.
Syntaxe:
mvattr Where(variable item, mvattr attribute, exp condition)
mvattr Where(variable item, exp expression, exp condition)
- item: Představuje prvek v atributu s více hodnotami.
- attribute: atribut s více hodnotami
- podmínka: libovolný výraz, který lze vyhodnotit na hodnotu true nebo false
- výraz: výraz, který vrací kolekci hodnot
Příklad:
Where($item,[userCertificate],CertNotAfter($item)>Now())
Vrátí hodnoty certifikátu v atributu userCertificate s více hodnotami, jejichž platnost nevypršela.
With
Popis:
Funkce With poskytuje způsob, jak zjednodušit složitý výraz pomocí proměnné představující dílčí výraz, který se v komplexním výrazu zobrazuje jednou nebo vícekrát.
Syntaxe:With(var variable, exp subExpression, exp complexExpression)
- proměnná: Představuje dílčí výraz.
- subExpression: dílčí výraz reprezentovaný proměnnou.
- complexExpression: Komplexní výraz.
Příklad:
With($unExpiredCerts,Where($item,[userCertificate],CertNotAfter($item)>Now()),IIF(Count($unExpiredCerts)>0,$unExpiredCerts,NULL))
Je funkčně ekvivalentní:
IIF (Count(Where($item,[userCertificate],CertNotAfter($item)>Now()))>0, Where($item,[userCertificate],CertNotAfter($item)>Now()),NULL)
Který vrátí pouze nevyexpirované hodnoty certifikátu v atributu userCertificate.
Word
Popis:
Funkce Word vrátí slovo obsažené v řetězci na základě parametrů popisujících oddělovače, které se mají použít, a čísla slova, které se mají vrátit.
Syntaxe:
str Word(str string, num WordNumber, str delimiters)
- řetězec: řetězec, ze které má být vráceno slovo.
- WordNumber: číslo určující, které číslo slova se má vrátit.
- oddělovače: řetězec představující oddělovače, které by se měly použít k identifikaci slov
Poznámky:
Každý řetězec znaků v řetězci oddělený jedním z znaků v oddělovači se identifikuje jako slova:
- Pokud je číslo < 1, vrátí prázdný řetězec.
- Pokud je řetězec null, vrátí prázdný řetězec.
Pokud řetězec obsahuje méně než číselná slova nebo řetězec neobsahuje žádná slova identifikovaná oddělovači, vrátí se prázdný řetězec.
Příklad:
Word("The quick brown fox",3," ")
Vrátí hodnotu "hnědá"
Word("This,string!has&many separators",3,",!&#")
Vrátilo by se "has" (má).