Sdílet prostřednictvím


Principy výrazů deklarativního zřizování

Aktualizováno: 22. července 2015

Důležitý

Toto téma bude brzy archivováno.
Existuje nový produkt s názvem "Azure Active Directory Connect", který nahrazuje AADSync a DirSync.
Azure AD Connect zahrnuje komponenty a funkce, které byly dříve vydány jako Dirsync a AAD Sync.
V budoucnu skončí podpora nástroje Dirsync a AAD Sync.
Tyto nástroje se už neaktualizují jednotlivě pomocí vylepšení funkcí a všechna budoucí vylepšení budou součástí aktualizací služby Azure AD Connect.

Nejnovější informace o službě Azure Active Directory Connect najdete v tématu Integrace místních identit se službou Azure Active Directory

Služba Azure Active Directory Synchronization Services (AAD Sync) vychází z deklarativního zřizování, které bylo poprvé zavedeno ve Forefront Identity Manageru 2010, abyste mohli implementovat úplnou obchodní logiku integrace identit, aniž byste museli psát kód.

Základní součástí deklarativního zřizování je jazyk výrazu používaný v tocích atributů. Použitý jazyk je podmnožinou jazyka Microsoft® Visual Basic® for Applications (VBA). Tento jazyk se používá v Microsoft Office a uživatelé, kteří mají zkušenosti s jazykem VBScript, ho také rozpozná. Jazyk deklarativního zřizování výrazů používá pouze funkce a není strukturovaným jazykem; neexistují žádné metody ani příkazy. Funkce se místo toho vnořují do toku programu.

Další podrobnosti najdete v tématu Vítá vás referenční příručka jazyka Visual Basic for Applications pro Office 2013.

Atributy jsou silného typu. Funkce, která očekává, že atribut řetězce s jednou hodnotou nebude přijímat vícehodnotové nebo atributy jiného typu. Rozlišují se také malá a velká písmena. Názvy funkcí i názvy atributů musí mít správnou velikost písmen nebo dojde k chybě.

Definice jazyka a identifikátory

  • Funkce mají název následovaný argumenty v hranatých závorkách: FunctionName(<<argument 1>>,<<argument N>>).

  • Atributy jsou identifikovány hranatými závorkami: [attributeName]

  • Parametry jsou identifikovány znaménkami procent: %ParameterName%

  • Řetězcové konstanty jsou obklopené uvozovkami: Například "Contoso"

  • Číselné hodnoty jsou vyjádřeny bez uvozovek a očekává se, že budou desetinné. Šestnáctkové hodnoty mají předponu &H. Např. 98052, &HFF

  • Logické hodnoty jsou vyjádřeny konstantami: True, False.

  • Předdefinované konstanty jsou vyjádřeny pouze s jejich názvem: NULL, CRLF, IgnoreThisFlow

Operátoři

Lze použít následující operátory:

  • porovnání: <, <=, <>, =, >, >=

  • matematika: +, -, *, -

  • řetězcové: & (zřetězení)

  • logické: && (a), || (nebo)

  • pořadí vyhodnocení: ( )

Operátory se vyhodnocují zleva doprava. 2*(5+3) není stejné jako 2*5+3. Hranaté závorky () slouží ke změně pořadí vyhodnocení.

Parametry

Parametr je definován konektorem nebo správcem pomocí PowerShellu. Parametry obvykle obsahují hodnoty, které se budou lišit od systému po systém, například název domény, ve které se uživatel nachází. Ty se dají použít v tocích atributů.

Konektor služby Active Directory poskytl následující parametry pro příchozí synchronizační pravidla:

Domain.Netbios

Doména.FQDN

Domain.LDAP

Forest.Netbios

Doménová struktura.FQDN

Forest.LDAP

Systém poskytuje následující parametr:

Connector.ID

Příklad, který naplní doménu atributu metaverse názvem netbios domény, ve které se nachází uživatel.

<domény - %Domain.% rozhraní Netbios

Běžné scénáře

Délka atributů

Atributy řetězců jsou standardně nastaveny tak, aby byly indexovatelné a maximální délka je 448 znaků. Pokud pracujete s řetězcovými atributy, které můžou obsahovat více, nezapomeňte do toku atributů zahrnout následující:

attributeName <- Left([attributeName],448)

Změna přípony userPrincipalSuffix

Atribut userPrincipalName ve službě Active Directory není vždy znám uživateli a nemusí být vhodný jako přihlašovací ID. Průvodce instalací AAD Sync umožňuje vybrat jiný atribut, například poštu. V některých případech se ale musí vypočítat atribut. Například společnost Contoso má dva adresáře AAD, jeden pro produkční a druhý pro testování. Chtějí, aby uživatelé ve svém testovacím tenantovi změnili příponu v přihlašovacím id.userPrincipalName <– Word([userPrincipalName],1;"@") & "@contosotest.com"

V tomto výrazu vezmeme všechno nalevo od prvního znaku @(Word) a zřetězení s pevným řetězcem.

Převod více hodnot na jednu hodnotu

Některé atributy ve službě Active Directory jsou ve schématu vícehodnotové, i když vypadají v uživatelích a počítačích služby Active Directory s jednou hodnotou. Příkladem je atribut popisu.

V tomto výrazu v případě, že má atribut hodnotu, vezmeme první položku (Item) v atributu, odebereme úvodní a koncové mezery (Trim) a pak v řetězci ponecháme prvních 448 znaků (vlevo).

Pokročilý koncept

NULL vs IgnoreThisFlow

V případě příchozích synchronizačních pravidel by měla být vždy použita konstanta NULL. To znamená, že tok nemá žádnou hodnotu pro přispívání a jiné pravidlo může přispět hodnotou. Pokud žádné pravidlo přispělo hodnotu, atribut metaverse se odebere.

Pro pravidla odchozí synchronizace existují dvě různé konstanty, které se mají použít: NULL a IgnoreThisFlow. Oba značí, že tok atributu nemá nic k přispívání, ale rozdíl je v tom, co se stane, když žádné jiné pravidlo nemá nic k přispívání. Pokud je v připojeném adresáři existující hodnota, null připraví odstranění atributu, zatímco IgnoreThisFlow zachová existující hodnotu.

Importovaná hodnota

Funkce ImportValues se liší od všech ostatních funkcí, protože název atributu musí být uzavřen v uvozovkách místo hranatých závorek: ImportValue("proxyAddresses").

Během synchronizace atribut obvykle použije očekávanou hodnotu, i když ještě nebyla exportována nebo při exportu došlo k chybě ("horní část věže"). Příchozí synchronizace předpokládá, že atribut, který ještě nedosáhl připojeného adresáře, se k němu nakonec dostane. V některých případech je důležité synchronizovat pouze hodnotu, která byla potvrzena připojeným adresářem a v tomto případě se používá funkce ImportValue (hologram a rozdílová věž importu).

Příklad najdete v předpojímaném synchronizačním pravidlu In z AD – Uživatel Common from Exchange, kde v hybridním Exchangi by hodnota přidaná exchange online měla být synchronizována pouze v případě, že byla potvrzena, že hodnota byla úspěšně exportována:

proxyAddresses <- RemoveDuplicates(Trim(ImportedValues(“proxyAddresses”)))

Seznam funkcí

Přeměna

CBool

Datum v jazyce CDate

CGuid

ConvertFromBase64

ConvertToBase64

ConvertFromHex

ConvertToHex

Číslo C

CRef

CStr

StringFromGuid

StringFromSid

Datum a čas

DateAdd

DateFromNum

FormatDateTime

Teď

NumFromDate

Adresář

DNComponent

DNComponentRev

EscapeDNComponent

Inspekce

IsBitSet

IsDate

IsEmpty

IsGuid

IsNull

IsNullOrEmpty

IsNumeric

IsPresent

IsString

Matematika

BitAnd

BitOr

RandomNum

Vícehodnotové

Obsahuje

Počítat

Položka

Připojit

Odebrání duplicitních dat

Rozdělit

Tok programu

Chyba

IIF

Vypínač

Text

Identifikátor guid

Instr

InStrRev

LCase

Vlevo

Len

LTrim

Střední

PadLeft

PadRight

PCase

Nahradit

ReplaceChars

Vpravo

RTrim

Zastřihnout

UCase

Slovo

Zvláštní

Importované hodnoty

Viz také

Koncepty

Synchronizace Azure Active Directory