Microsoft Entra Connect 同步:了解宣告式佈建運算式
Microsoft Entra Connect Sync 是以 Forefront Identity Manager 2010 中最先引進的宣告式佈建為基礎。 它可讓您實作完整的身分識別整合商務邏輯,而不需要撰寫已編譯的程式碼。
宣告式佈建最主要的部分是在屬性流程中使用運算式語言。 使用的語言是 Microsoft® Visual Basic® for Applications (VBA) 的子集。 此語言用於 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 屬性中執行每個值的 Trim。
Word([proxyAddresses],1,"@") & "@contoso.com"
針對每個含有 @ 符號的值,以 @contoso.com 取代網域。
IIF(InStr([proxyAddresses],"SIP:")=1,NULL,[proxyAddresses])
尋找 SIP 位址並從各值中移除。
下一步
概觀主題
參考主題