Condividi tramite


Informazioni sulle espressioni di provisioning dichiarativo

Aggiornato: 22 luglio 2015

Importante

Questo argomento verrà archiviato a breve.
È disponibile un nuovo prodotto denominato "Azure Active Directory Connect" che sostituisce AADSync e DirSync.
Azure AD Connect incorpora i componenti e le funzionalità rilasciati in precedenza come Dirsync e AAD Sync.
A un certo punto, il supporto per Dirsync e Sincronizzazione AAD terminerà.
Questi strumenti non vengono più aggiornati singolarmente con miglioramenti delle funzionalità e tutti i miglioramenti futuri verranno inclusi negli aggiornamenti di Azure AD Connect.

Per le informazioni più recenti su Azure Active Directory Connect, vedere Integrazione delle identità locali con Azure Active Directory

Azure Active Directory Synchronization Services (AAD Sync) si basa sul provisioning dichiarativo introdotto per la prima volta in Forefront Identity Manager 2010 per consentire di implementare la logica di business di integrazione delle identità completa senza dover scrivere codice.

Una parte essenziale del provisioning dichiarativo è il linguaggio delle espressioni usato nei flussi di attributi. Il linguaggio usato è un subset di Microsoft® Visual Basic®, Applications Edition (VBA). Questo linguaggio viene usato in Microsoft Office e gli utenti con esperienza di VBScript lo riconosceranno anche. Il linguaggio delle espressioni di provisioning dichiarativo usa solo le funzioni e non è un linguaggio strutturato; non esistono metodi o istruzioni. Le funzioni verranno invece annidate per esprimere il flusso del programma.

Per altre informazioni, vedere Informazioni di riferimento sul linguaggio di Visual Basic, Applications Edition per Office 2013.

Gli attributi sono fortemente tipizzato. Una funzione che prevede un attributo stringa a valore singolo non accetterà attributi o multivalore di un tipo diverso. Fa anche distinzione tra maiuscole e minuscole. Sia i nomi delle funzioni che i nomi degli attributi devono avere maiuscole e minuscole appropriate o verrà generato un errore

Definizioni e identificatori del linguaggio

  • Le funzioni hanno un nome seguito da argomenti tra parentesi quadre: FunctionName(<<argomento 1>>,<<argomento N>>).

  • Gli attributi sono identificati tra parentesi quadre: [attributeName]

  • I parametri sono identificati dai segni di percentuale: %ParameterName%

  • Le costanti stringa sono racchiuse tra virgolette: ad esempio "Contoso"

  • I valori numerici sono espressi senza virgolette e devono essere decimali. I valori esadecimali sono preceduti da &H. Ad esempio, 98052, &HFF

  • I valori booleani sono espressi con costanti: True, False.

  • Le costanti predefinite vengono espresse solo con il nome: NULL, CRLF, IgnoreThisFlow

Operatori

È possibile usare gli operatori seguenti:

  • confronto: <, <=, <>, =, >, >=

  • matematica: +, -, *, -

  • stringhe: & (concatenazione)

  • logico : && (e) || (o)

  • ordine di valutazione: ( )

Gli operatori vengono valutati da sinistra a destra. 2*(5+3) non è uguale a 2*5+3. Le parentesi quadre ( ) vengono usate per modificare l'ordine di valutazione.

Parametri

Un parametro viene definito da un connettore o da un amministratore tramite PowerShell. I parametri contengono in genere valori diversi dal sistema al sistema, ad esempio il nome del dominio in cui si trova l'utente. Questi valori possono essere usati nei flussi di attributi.

Active Directory Connector ha fornito i parametri seguenti per le regole di sincronizzazione in ingresso:

Domain.Netbios

Domain.FQDN

Domain.LDAP

Forest.Netbios

Forest.FQDN

Forest.LDAP

Il sistema fornisce il parametro seguente:

Connector.ID

Esempio che popola il dominio dell'attributo metaverse con il nome netbios del dominio in cui si trova l'utente.

domain <: %Domain. Netbios%

Scenari comuni

Lunghezza degli attributi

Gli attributi stringa sono impostati per impostazione predefinita per essere indicizzati e la lunghezza massima è di 448 caratteri. Se si utilizzano attributi stringa che potrebbero contenere più attributi, assicurarsi di includere quanto segue nel flusso dell'attributo:

attributeName <- Left([attributeName],448)

Modifica di userPrincipalSuffix

L'attributo userPrincipalName in Active Directory non è sempre noto agli utenti e potrebbe non essere adatto come ID di accesso. La guida all'installazione di AAD Sync consente di selezionare un attributo diverso, ad esempio la posta elettronica. In alcuni casi, tuttavia, è necessario calcolare l'attributo . Ad esempio, la società Contoso ha due directory AAD, una per la produzione e una per i test. Vogliono che gli utenti nel tenant di test modifichino semplicemente il suffisso nell'ID di accesso.userPrincipalName <- Word([userPrincipalName],1,"@") & "@contosotest.com"

In questa espressione vengono accettati tutti gli elementi rimanenti del primo @-sign (Word) e concatenati con una stringa fissa.

Convertire un multivalore in un valore singolo

Alcuni attributi in Active Directory sono multivalore nello schema anche se hanno un valore singolo in Utenti e computer di Active Directory. Un esempio è l'attributo description.

In questa espressione, nel caso in cui l'attributo abbia un valore, prendiamo il primo elemento (Item) nell'attributo, rimuoviamo spazi iniziali e finali (Trim) e quindi manterranno i primi 448 caratteri (a sinistra) nella stringa.

Concetto avanzato

NULL e IgnoreThisFlow

Per le regole di sincronizzazione in ingresso, è consigliabile usare sempre la costante NULL. Ciò indica che il flusso non ha alcun valore da contribuire e un'altra regola può contribuire a un valore. Se nessuna regola ha contribuito a un valore, l'attributo metaverse viene rimosso.

Per le regole di sincronizzazione in uscita sono disponibili due costanti diverse da usare: NULL e IgnoreThisFlow. Entrambi indicano che il flusso dell'attributo non ha nulla da contribuire, ma la differenza è ciò che accade quando nessun'altra regola ha nulla da contribuire. Se nella directory connessa è presente un valore esistente, un valore NULL eseguirà un'eliminazione nell'attributo rimuovendolo mentre IgnoreThisFlow manterrà il valore esistente.

ImportValue

La funzione ImportedValues è diversa da tutte le altre funzioni perché il nome dell'attributo deve essere racchiuso tra virgolette anziché parentesi quadre: ImportedValue("proxyAddresses").

In genere durante la sincronizzazione un attributo userà il valore previsto, anche se non è ancora stato esportato o è stato ricevuto un errore durante l'esportazione ("parte superiore della torre"). Una sincronizzazione in ingresso presuppone che un attributo che non ha ancora raggiunto una directory connessa lo raggiungerà. In alcuni casi è importante sincronizzare solo un valore confermato dalla directory connessa e in questo caso viene usata la funzione ImportedValue ("ologramma e torre di importazione differenziale").

Un esempio di questo è disponibile nella regola di sincronizzazione predefinita in da AD - User Common from Exchange dove in Hybrid Exchange il valore aggiunto da Exchange Online deve essere sincronizzato solo se è stato confermato che il valore è stato esportato correttamente:

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

Elenco di funzioni

Conversione

CBool

CDate

CGuid

ConvertFromBase64

ConvertToBase64

ConvertFromHex

ConvertToHex

CNum

CRef

CStr

StringFromGuid

StringFromSid

Data/ora

DateAdd

DateFromNum

FormatDateTime

Ora

NumFromDate

Directory

DNComponent

DNComponentRev

EscapeDNComponent

Ispezione

IsBitSet

IsDate

IsEmpty

IsGuid

IsNull

IsNullOrEmpty

IsNumeric

IsPresent

IsString

Matematica

BitAnd

BitOr

RandomNum

Multivalore

Contiene

Contare

Articolo

Unire

RemoveDuplicates

Diviso

Flusso di programma

Errore

IIF

Interruttore

Testo

GUID

Instr

InStrRev

LCase

A sinistra

Len

LTrim

Metà

PadLeft

PadRight

PCase

Sostituire

ReplaceChars

A destra

RTrim

Tagliare

UCase

Parola

Speciale

ImportValues

Vedere anche

Concetti

di Sincronizzazione di Azure Active Directory