Microsoft Entra Connect Sync 是以 Forefront Identity Manager 2010 中首次推出的宣告式布建為基礎發展的。 它可讓您實作完整的身分識別整合商業規則,而不需要撰寫編譯的程序代碼。
宣告式布建的基本部分是屬性流程中使用的表達式語言。 使用的語言是 visual Basic® for Applications (VBA) Microsoft®子集。 此語言用於Microsoft Office,且具有 VBScript 經驗的使用者也會辨識該語言。 宣告式布建表示式語言只會使用函式,而且不是結構化語言。 沒有方法或語句。 函式會以巢狀方式表示程式流程。
如需詳細資訊,請參閱 歡迎使用 Office 2013的 Visual Basic for Applications 語言參考。
屬性具有強類型。 函式只接受正確類型的屬性。 它也區分大小寫。 函式名稱和屬性名稱都必須有正確的大小寫區分,否則會引發錯誤。
語言定義和識別碼
- 函式的名稱後面接著括號中的自變數:FunctionName(argument 1,argument N)。
- 屬性是由方括弧識別:[attributeName]
- 參數是由百分比符號識別:%ParameterName%
- 字串常數會以引號括住:例如,「Contoso」 (注意:必須使用直引號 “”,而不是智慧引號 “”)
- 數值會以無引號表示,且預期為十進位。 十六進位值前面會加上 &H。 例如,98052、&HFF
- 布爾值會以常數表示:True、False。
- 內建常數和常值只會以其名稱表示:NULL、CRLF、IgnoreThisFlow
功能
宣告式布建會使用許多函式來啟用轉換屬性值的可能性。 這些函式可以巢狀化,因此一個函式的結果會傳入另一個函式。
Function1(Function2(Function3()))
您可以在 函式參考中找到函式的完整清單。
參數
參數是由連接器或使用PowerShell的系統管理員所定義。 參數通常包含與系統不同的值,例如,使用者所在的網域名稱。 這些參數可用於屬性流程。
Active Directory 連接器為輸入同步處理規則提供了下列參數:
參數名稱 | 評論 |
---|---|
Domain.Netbios | 目前正在匯入的網域使用的是 NetBIOS 格式,例如 FABRIKAMSALES |
Domain.FQDN | 目前正在匯入之網域的 FQDN 格式,例如 sales.fabrikam.com |
Domain.LDAP | 目前正在匯入之網域的LDAP格式,例如DC=sales,DC=fabrikam,DC=com |
Forest.Netbios | 目前正在匯入之樹系名稱的 Netbios 格式,例如 FABRIKAMCORP |
Forest.FQDN(完整網域名稱) | 目前正在匯入之樹系名稱的 FQDN 格式,例如 fabrikam.com |
Forest.LDAP | 正在匯入的樹系名稱以LDAP格式表示,例如DC=fabrikam,DC=com |
系統會提供下列參數,用來取得目前執行的連接器識別碼:
Connector.ID
以下範例會將使用者所在的網域 netbios 名稱填入 metaverse 屬性域:
domain
<- %Domain.Netbios%
運營商
您可以使用下列運算子:
- 比較:<、<=、<>、=、>、>=
- 數學: +, -, *, -
- 字串: & (串連)
- 邏輯: && (和), ||(或)
- 評估順序: ( )
運算子會由左至右進行評估,且具有相同的優先評估順序。 也就是說,* (乘法運算)在 - (減法運算)之前不會被評估。 2*(5+3) 與 2*5+3 不同。 括弧 () 用於在左至右評估順序不適用時變更評估順序。
多值屬性
函式可以在單一值和多重值屬性上運作。 針對多重值屬性,函式會針對每個值運作,並將相同的函式套用至每個值。
例如:
Trim([proxyAddresses])
對 proxyAddress 屬性中的每個值進行去除首尾空白的操作。
Word([proxyAddresses],1,"@") & "@contoso.com"
對於每個包含 @ 符號的值,將其網域替換為 @contoso.com。
IIF(InStr([proxyAddresses],"SIP:")=1,NULL,[proxyAddresses])
尋找 SIP 位址,並從值中移除它。
後續步驟
- 在 中閱讀更多有關宣告式布建的組態模型。
- 查看 預設組態使用方式,了解宣告式布建的即用配置。
- 瞭解如何在 中使用宣告式布建進行實際變更,如何變更預設組態。
概觀主題
參考主題