2.5 熟悉驅動程式功能

本節討論部署 Active Directory 驅動程式之前,應先熟悉的驅動程式功能:

2.5.1 多值屬性

從版本 2 開始,Active Directory 驅動程式處理多值屬性的方法發生了變更。

透過在「新增」或「修改」操作中,忽略第一次變更值之外的所有值,版本 2 將多值屬性當做「訂閱者」通道上的單一值屬性。 Active Directory 驅動程式的版本 3 完全支援多值屬性。

但是,當 Active Directory 驅動程式同步化多值屬性與單一值屬性時,多值屬性會被當做單一值屬性來處理。 例如,「電話號碼」屬性在 Active Directory 中是單一值屬性,但是在 Identity Vault 中是多值屬性。 當從 Active Directory 同步化此屬性時,只會將單一值儲存到 Identity Vault 中。

這會在兩種屬性之間建立實質的同步化和映射,只不過在將具有多值的屬性映射成具有單一值的屬性時,可能會導致資料遺失。 在大部份情況下,如果環境需要,可以透過實作規則將額外值存放在另一個位置。

2.5.2 使用自定布林值屬性管理帳戶設定

Active Directory 屬性 userAccountControl 是一個整數,其位元控制登入帳戶內容,例如是否允許登入、是否需要密碼或帳戶是否被鎖定。 因為每個布林值內容內嵌於其整數值中,所以無法個別同步化布林值內容。

在第 2 版中,Active Directory 驅動程式提供了一種捷徑,可讓您將 userAccountControl 映射至 eDirectory Login Disabled 屬性,但是不允許映射該屬性中的其他內容位元。

在第 3 版中,可以將 userAccountControl 屬性中的每個位元做為布林值個別參考,也可以將 userAccountControl 做為一個整數整個來管理。 驅動程式會辨識 userAccountControl 中每個位元的布林值別名。 這些別名包含在所有含有 userAccountControl 之類別的綱要中。 別名值是在「訂閱者」通道上被接受,而在「發行者」通道上顯示出來。

此功能的優點是每個位元都可做為布林值使用,因此位元可以在「發行者」過濾器中個別地啟用且便於存取。 您也可以將 userAccountControl 放入「發行者」過濾器中,以做為一個整數接收變更通知。

在單一組態中不可混合 userAccountControl 的整數和別名版本。

下表列出可用的別名和十六進位值。 不可在「訂閱者」通道上設定唯讀屬性。

Table 2-3 別名和十六進位值

別名

十六進位

備註

dirxml-uACDontExpirePassword

0x10000

讀寫

dirxml-uACHomedirRequired

0x0008

讀寫

dirxml-uACInterdomainTrustAccount

0x0800

唯讀

dirxml-uACNormalAccount

0x0200

唯讀

dirxml-uACServerTrustAccount

0x2000

唯讀

dirxml-uACWorkstationTrustAccount

0x1000

唯讀

dirxml-uACAccountDisable

0x0002

讀寫

dirxml-uACPasswordNotRequired

0x0020

讀寫

如需 userAccountControl 屬性相關的疑難排解秘訣,請參閱Section 8.9, Active Directory 帳戶在使用者新增到「訂閱者」通道後關閉

2.5.3 使用 homeMDB 屬性提供 Exchange 信箱

從第 2 版開始,用於提供 Exchange 2000 和 Exchange 2003 信箱的選項已經有所變更。

在第 2 版中,透過設定「使用者」物件上的屬性來完成 Exchange 提供。 Microsoft 程式 (收件者更新服務) 使用本資訊提供 Exchange 資料庫。

此方法在 Active Directory 驅動程式的第 3 版中仍可使用,但新增了一種新的方法 (CDOEXM)。 啟用了 CDOEXM,就可以透過設定 homeMDB 屬性來提供 Exchange 信箱。 設定 homeMDB 屬性時,驅動程式會自動設定所有必要的屬性。

homeMDB 屬性是在啟始組態設定期間設定的,不過,您可以透過修改驅動程式規則來變更此設定。 如需此參數的相關討論,請參閱Section 4.3, 組態參數

2.5.4 Active Directory 中的過期帳戶

如果將 Login Expiration Time 的 eDirectory 屬性映射到 accountExpires 的 Active Directory 屬性,Active Directory 中的帳戶會在比 eDirectory 中設定的過期時間早一天過期。

發生此狀況是因為 Active Directory 設定的 accountExpires 屬性值是以一天為單位遞增。 Login Expiration Time 的 eDirectory 屬性是使用特定的帳戶過期日期與時間。

例如,如果 eDirectory 中帳戶的過期日期設定為 2006 年 7 月 15 日下午 5:00,則在 Active Directory 中此帳戶最後一天的有效日期是 7 月 14 日。

如果將 Microsoft Management Console (MMC) 中的帳戶過期時間設定為 2006 年 7 月 15 日,則 Login Expiration Time 的 eDirectory 屬性會設定為在 2006 年 7 月 16 日上午 12:00 過期。 因為 Microsoft Management Console (MMC) 不允許設定時間值,其預設值是上午 12:00。

驅動程式會使用最受限制的設定。 您可以根據要求將 Microsoft 中的過期時間延長一天。

2.5.5 在還原 Active Directory 物件時保留 eDirectory 物件

透過 Active Directory 工具還原的任何 Active Directory 物件會在進行同步化時,刪除相關聯的 eDirectory 物件。 Active Directory 驅動程式會尋找 Active Directory 物件之 isDeleted 屬性中的變更。 當驅動程式偵測到此屬性中的變更時,會透過與 Active Directory 物件相關聯之物件的驅動程式發出刪除事件。

如果您不想刪除 eDirectory 物件,必須為 Active Directory 驅動程式新增其他規則。 Identity Manager 3.0附有預先定義的規則,此規則會將所有的「刪除」事件變更為「移除關聯」事件。 如需相關資訊,請參閱《規則產生器和驅動程式自訂指南》中的「指令轉換:要停用的發行者刪除」。