Microsoft Entra Připojení Sync: Referenční informace o funkcích

V microsoft Entra Připojení 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


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: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx nebo {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx}

Contains

Popis:
Funkce Contains najde řetězec uvnitř atributu s více hodnotami.

Syntaxe:
num Contains (mvstring attribute, str search) -Case-sensitive
num Contains (mvstring attribute, str search, enum Casetype)
num Contains (mvref attribute, str search) -Case-sensitive

  • 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ů: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx nebo {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}

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])


Item

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.


Removeduplicates

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.


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,"-",""))
Vrátí všechny hodnoty v jiném atributu s více hodnotami Telefon po odebrání pomlček (-).


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á).

Další materiály