共用方式為


目錄服務元件更新

作者:Windows 群組資深支援呈核工程師 Justin Turner

注意

本內容由 Microsoft 客戶支援工程師編寫,適用對象為經驗豐富的系統管理員和系統架構​​師,如果 TechNet 提供的主題已無法滿足您,您要找的是 Windows Server 2012 R2 中功能和解決方案的更深入技術講解,則您是本文的適用對象。 不過,本文未經過相同的編輯階段,因此部分語句也許不如 TechNet 文章那樣洗鍊。

本課程說明 Windows Server 2012 R2 中的目錄服務元件更新。

您將學到的內容

說明下列新的目錄服務元件更新:

網域和樹系功能等級

概觀

本節簡介網域和樹系功能等級變更。

新的 DFL 和 FFL

此版本有新的網域和樹系功能等級:

  • 樹系功能等級:Windows Server 2012 R2

  • 網域功能等級:Windows Server 2012 R2

Windows Server 2012 R2 網域功能等級可支援:

  1. 受保護使用者的 DC 端保護

    向 Windows Server 2012 R2 網域進行驗證的受保護使用者無法再執行

    • 使用 NTLM 驗證進行驗證

    • 在 Kerberos 預先驗證中使用 DES 或 RC4 加密套件

    • 以非限制或限制委派方式受到委派

    • 在初始 4 小時存留期之後更新使用者票證 (TGT)

  2. 驗證原則

    以樹系為基礎的 Active Directory 新原則,可套用至 Windows Server 2012 R2 網域中的帳戶,以控制帳戶可從哪些主機登入,並將驗證的存取控制條件套用至以帳戶身分執行的服務

  3. 驗證原則定址接收器

    以樹系為基礎的 Active Directory 新物件,可以建立使用者、受管理服務與電腦帳戶之間的關係,也可用來分類帳戶以進行驗證原則或驗證隔離。

如需詳細資訊,請參閱如何設定受保護的帳戶。

除了上述功能之外,Windows Server 2012 R2 網域功能等級可確保網域中的任何網域控制站都執行 Windows Server 2012 R2。 Windows Server 2012 R2 樹系功能等級不提供任何新功能,但可確保樹系中建立的任何新網域都能在 Windows Server 2012 R2 網域功能等級自動運作。

建立新網域時強制執行的最低 DFL

Windows Server 2008 DFL 是建立新網域時支援的最低功能等級。

注意

FRS 淘汰是使用伺服器管理員或 Windows PowerShell 來完成,該作業會移除低於 Windows Server 2008 網域功能等級的新網域安裝功能。

降低樹系和網域功能等級

依預設,樹系和網域功能等級會在建立新網域和新樹系時設定為 Windows Server 2012 R2,但可使用 Windows PowerShell 降低。

若要使用 Windows PowerShell 提高或降低樹系功能等級,請使用 Set-ADForestMode Cmdlet。

將 contoso.com FFL 設定為 Windows Server 2008 模式:

Set-ADForestMode -ForestMode Windows2008Forest -Identity contoso.com

若要使用 Windows PowerShell 來提高或降低網域功能等級,請使用 Set-ADDomainMode Cmdlet。

將 contoso.com DFL 設定為 Windows Server 2008 模式:

Set-ADDomainMode -DomainMode Windows2008Domain -Identity contoso.com

可將執行 Windows Server 2012 R2 的 DC 升級為執行 2003 DFL 的現有網域中的額外複本。

在現有樹系中建立新網域

顯示 [域控制器選項] 頁面的螢幕快照。

ADPREP

此版本中沒有新的樹系或網域作業。

這些 .ldf 檔案包含裝置註冊服務的結構描述變更。

  1. Sch59

  2. Sch61

  3. Sch62

  4. Sch63

  5. Sch64

  6. Sch65

  7. Sch67

工作資料夾:

  1. Sch66

MSODS:

  1. Sch60

驗證原則和定址接收器

  1. Sch68

  2. Sch69

NTFRS 淘汰

概觀

FRS 在 Windows Server 2012 R2 中已遭淘汰。 FRS 淘汰是藉由強制執行 Windows Server 2008 的最低網域功能等級 (DFL) 來完成。 只有在使用伺服器管理員或 Windows PowerShell 建立新網域時,才會強制執行這項作業。

您可以使用 -DomainMode 參數搭配 Install-ADDSForest 或 Install-ADDSDomain Cmdlet 來指定網域功能等級。 此參數支援的值包括有效整數或對應的列舉字串值。 例如,若要將網域模式層級設定為 Windows Server 2008 R2,您可以將值指定為 4 或「Win2008R2」。 使用 Server 2012 R2 有效值執行這些 Cmdlet 時,請將其加入:Windows Server 2008 (3,Win2008)、Windows Server 2008 R2 (4,Win2008R2)、Windows Server 2012 (5,Win2012) 和 Windows Server 2012 R2 (6,Win2012R2)。 網域功能等級不能低於樹系功能等級,但可能更高。 由於 FRS 在此版本中已遭淘汰,因此從 Windows Server 2012 R2 執行時,Windows Server 2003 (2,Win2003) 不是具有這些 Cmdlet 的可辨識參數。

終端機視窗的螢幕快照,其中顯示與 Install-ADDSForest Cmdlet 搭配使用的 -DomainMode 參數。

顯示如何使用 Install-ADDSForest Cmdlet 的終端機視窗螢幕快照。

LDAP 查詢最佳化工具變更

概觀

LDAP 查詢最佳化工具演算法已重新評估並進一步最佳化。 結果是改善 LDAP 搜尋效率和複雜查詢的 LDAP 搜尋時間效能。

注意

來自開發人員:透過改善 LDAP 查詢對 ESE 查詢的對應來提高搜尋效能。 超過特定複雜層級的 LDAP 篩選器會阻止選取最佳化索引,導致效能大幅降低 (1000 倍以上)。 此變更會改變我們選取 LDAP 查詢索引的方式,以免發生這個問題。

注意

完整修訂 LDAP 查詢最佳化工具演算法可以:

  • 縮短搜尋時間
  • 提升效率並讓 DC 執行更多作業
  • 減少關於 AD 效能問題的支援通話
  • 回復至 Windows Server 2008 R2 (知識庫 2862304)

背景

Active Directory 搜尋功能是網域控制站提供的核心服務。 其他服務和企業營運應用程式的運作需仰賴 Active Directory 搜尋。 如果無法使用此功能,企業營運可能會停止。 針對這項大量使用的核心服務,網域控制站必須有效率地處理 LDAP 搜尋流量。 LDAP 查詢最佳化工具演算法會嘗試將 LDAP 搜尋篩選器對應至可由資料庫中已編制索引之記錄完成的結果集,讓 LDAP 搜尋更有效率。 此演算法已重新評估並進一步最佳化。 結果是改善 LDAP 搜尋效率和複雜查詢的 LDAP 搜尋時間效能。

變更內容詳細資料

LDAP 搜尋包含:

  • 階層內要開始搜尋的位置 (NC 標頭、OU、物件)

  • 搜尋篩選器

  • 要傳回的屬性清單

以下為搜尋程序摘要:

  1. 盡可能簡化搜尋篩選。

  2. 選擇一組將傳回最小涵蓋集合的索引鍵。

  3. 執行一個或多個索引鍵交集,以縮小涵蓋集合。

  4. 針對涵蓋集合中的每個記錄,評估篩選運算式和安全性。 如果篩選器評估為 TRUE 並授與存取權,則將此記錄傳回至用戶端。

LDAP 查詢最佳化作業會修改步驟 2 和 3,以縮小涵蓋集合。 更具體來說,目前的實作會選取重複索引鍵,並執行多餘的交集。

新舊演算法的比較

此範例中,缺乏效率的 LDAP 搜尋目標是 Windows Server 2012 網域控制站。 系統大約花費 44 秒完成搜尋,因為找不到更有效率的索引。

adfind -b dc=blue,dc=contoso,dc=com -f "(| (& (|(cn=justintu) (postalcode=80304) (userprincipalname=justintu@blue.contoso.com)) (|(objectclass=person) (cn=justintu)) ) (&(cn=justintu)(objectclass=person)))" -stats >>adfind.txt

Using server: WINSRV-DC1.blue.contoso.com:389

<removed search results>

Statistics
=====
Elapsed Time: 44640 (ms)
Returned 324 entries of 553896 visited - (0.06%)

Used Filter:
 ( |  ( &  ( |  (cn=justintu)  (postalCode=80304)  (userPrincipalName=justintu@blue.contoso.com) )  ( |  (objectClass=person)  (cn=justintu) ) )  ( &  (cn=justintu)  (objectClass=person) ) )

Used Indices:
 DNT_index:516615:N

Pages Referenced          : 4619650
Pages Read From Disk      : 973
Pages Pre-read From Disk  : 180898
Pages Dirtied             : 0
Pages Re-Dirtied          : 0
Log Records Generated     : 0
Log Record Bytes Generated: 0

使用新演算法的範例結果

此範例重複執行與上述完全相同的搜尋,但改以 Windows Server 2012 R2 網域控制站為目標。 由於 LDAP 查詢最佳化工具演算法有所改善,相同搜尋作業不到一秒便完成。

adfind -b dc=blue,dc=contoso,dc=com -f "(| (& (|(cn=justintu) (postalcode=80304) (userprincipalname=dhunt@blue.contoso.com)) (|(objectclass=person) (cn=justintu)) ) (&(cn=justintu)(objectclass=person)))" -stats >>adfindBLUE.txt

Using server: winblueDC1.blue.contoso.com:389

.<removed search results>

Statistics
=====
Elapsed Time: 672 (ms)
Returned 324 entries of 648 visited - (50.00%)

Used Filter:
 ( |  ( &  ( |  (cn=justintu)  (postalCode=80304)  (userPrincipalName=justintu@blue.contoso.com) )  ( |  (objectClass=person)  (cn=justintu) ) )  ( &  (cn=justintu)  (objectClass=person) ) )

Used Indices:
 idx_userPrincipalName:648:N
 idx_postalCode:323:N
 idx_cn:1:N

Pages Referenced          : 15350
Pages Read From Disk      : 176
Pages Pre-read From Disk  : 2
Pages Dirtied             : 0
Pages Re-Dirtied          : 0
Log Records Generated     : 0
Log Record Bytes Generated: 0
  • 如果無法最佳化樹狀結構:

    • 例如:樹狀結構中的運算式超過未編制索引的資料行

    • 記錄妨礙最佳化的索引清單

    • 透過 ETW 追蹤和事件識別碼 1644 公開

      醒目提示屬性防止優化值的螢幕快照。

在 LDP 中啟用統計資料控制項

  1. 開啟 LDP.exe,然後連線並繫結至網域控制站。

  2. 在 [選項] 功能表上,選取 [控制項]。

  3. 在 [控制項] 對話方塊中,展開 [載入預先定義] 下拉式功能表,然後依序選取 [搜尋統計資料] 和 [確定]。

    醒目提示 [載入預先定義] 列表的螢幕快照。

  4. 在 [瀏覽] 功能表上,選取 [搜尋]

  5. 在 [搜尋] 對話方塊中,選取 [選項] 按鈕。

  6. 確定已勾選 [搜尋選項] 對話方塊上的 [擴充] 核取方塊,然後選取 [確定]。

    醒目提示 [擴充] 選項的螢幕快照。

試試看:使用 LDP 傳回查詢統計資料

在網域控制站或從已安裝 AD DS 工具的已加入網域用戶端或伺服器,執行下列操作。 重複下列步驟,以 Windows Server 2012 DC 和 Windows Server 2012 R2 DC 為目標。

  1. 請詳閱「建立更有效率的 Microsoft AD 啟用應用程式」文章,並在需要時返回參考。

  2. 使用 LDP 啟用搜尋統計資料 (請參閱在 LDP 中啟用統計資料控制項)

  3. 執行數個 LDAP 搜尋,並觀察結果頂端的統計資料。 您將在其他活動中重複執行相同的搜尋,因此請將這些資料記錄在記事本文字檔中。

  4. 執行查詢最佳化工具可改善成效的 LDAP 搜尋 (因為有屬性索引)

  5. 嘗試建構需要較長時間完成的搜尋 (您可能需要新增 [時間限制] 選項,以免搜尋作業逾時)。

其他資源

什麼是 Active Directory 搜尋?

Active Directory 搜尋的運作方式

建立更有效率的 Microsoft Active Directory 啟用應用程式

951581 LDAP 查詢在 AD 或 LDS/ADAM 目錄服務中的執行速度比預期慢,而且可能會記錄事件識別碼 1644

1644 事件改進

概觀

此更新會將額外的 LDAP 搜尋結果統計資料新增至事件識別碼 1644 以協助疑難排解。 此外,還有一個新的登錄值可用來啟用時間型臨界值記錄。 在 Windows Server 2012 和 Windows Server 2008 R2 SP1 中,這些改善項目已按照知識庫 2800945 所述完成,之後也將於 Windows Server 2008 SP2 提供。

注意

  • 額外的 LDAP 搜尋統計資料會新增至事件識別碼 1644,以協助疑難排解效率不佳或昂貴的 LDAP 搜尋
  • 您現在可以指定搜尋時間臨界值 (例如記錄費時超過 100 毫秒的搜尋事件 1644),而不是指定昂貴且沒有效率的搜尋結果臨界值

背景

排解 Active Directory 效能問題時,您明顯發現 LDAP 搜尋活動可能是問題的原因。 您決定啟用記錄功能,以便查看網域控制站所處理的昂貴或低效率 LDAP 查詢。 為了啟用記錄功能,您必須設定欄位工程診斷值,且可選擇指定昂貴/效率不佳的搜尋結果臨界值。 啟用欄位工程記錄層級並將值設為 5 後,符合這些準則的任何搜尋都會記錄在目錄服務事件記錄檔中,並具有事件識別碼 1644。

事件包含:

  • 用戶端 IP 和連接埠

  • 起始節點

  • 篩選器

  • 搜尋範圍

  • 屬性選取項目

  • 伺服器控制項

  • 瀏覽的項目

  • 傳回的項目

不過,事件中缺少索引鍵資料,例如搜尋作業所花費的時間和使用的索引 (如果有)。

新增至事件 1644 的額外搜尋統計資料

  • 使用的索引

  • 參考的頁面

  • 從磁碟讀取的頁面

  • 從磁碟預先讀取的頁面

  • 已修改的乾淨頁面

  • 已修改的中途頁面

  • 搜尋時間

  • 妨礙最佳化的屬性

事件 1644 記錄的新時間型臨界登錄值

您可以指定搜尋時間臨界值,而不是指定昂貴且沒有效率的搜尋結果臨界值。 如果您想記錄所有花費至少 50 毫秒的搜尋結果,除了設定欄位工程值之外,您還應指定 50 (十進位) / 32 (十六進位)。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters]
"Search Time Threshold (msecs)"=dword:00000032

新舊事件識別碼 1644 的比較

OLD

顯示舊事件標識碼 1664 的螢幕快照。

NEW

目錄服務更新

試試看:使用事件記錄檔傳回查詢統計資料

  1. 重複下列步驟,以 Windows Server 2012 DC 和 Windows Server 2012 R2 DC 為目標。 在每次搜尋之後,觀察這兩個 DC 上的事件識別碼 1644。

  2. 透過 regedit 啟用事件識別碼 1644 記錄;在 Windows Server 2012 R2 DC 上使用時間型臨界值啟用,在 Windows Server 2012 DC 上則使用舊方法。

  3. 執行數個超過臨界值的 LDAP 搜尋,並觀察結果頂端的統計資料。 使用您稍早記錄的 LDAP 查詢,並重複執行相同搜尋。

  4. 執行查詢最佳化工具無法改善成效的 LDAP 搜尋 (因為一或多個屬性未編制索引)。

Active Directory 複寫輸送量改善

概觀

AD 複寫會使用 RPC 進行複寫傳輸。 根據預設,RPC 會使用 8K 傳輸緩衝區和 5K 封包大小。 如此會有網路效應:傳送執行個體會傳輸三個封包 (大約 15K 資料量),然後須等待網路往返之後再傳送更多封包。 假設往返時間為 3 毫秒,則最高輸送量約為 40 Mbps,即使是在 1 Gbps 或 10 Gbps 的網路也不例外。

注意

  • 此更新會將最大 AD 複寫輸送量從 40Mbps 調整為約 600 Mbps。

    • 如此會增加 RPC 傳送緩衝區大小,以減少網路往返次數
  • 在高速且高延遲的網路上,效果最為明顯。

這項更新會將 RPC 傳送緩衝區大小從 8K 變更為 256KB,使最大輸送量提高到約 600 Mbps。 此變更可讓 TCP 視窗大小成長超過 8K,減少網路往返次數。

注意

沒有可配置的設定可用於修改此行為。

其他資源

Active Directory 複寫模型的運作方式