如何使用 Event1644Reader.ps1 來分析在 Windows Server 中的 LDAP 查詢效能

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3060643
本文將會協助分析 Windows Server 2012、 Windows Server 2008 R2 和 Windows Server 2008 中的 Active Directory 事件識別碼 1644年的指令碼。檢閱 使用此指令碼步驟 然後 分析您的問題.
關於 Event1644Reader.ps1 指令碼
作用中的目錄事件識別碼 1644年會記錄在目錄服務事件記錄檔。這個事件指出昂貴而效率不佳,或是緩慢輕量型目錄存取通訊協定 (LDAP) 就會搜尋由 Active Directory 網域控制站提供服務。NTDS 一般事件識別碼 1644年經篩選後可以在 Active Directory 資料庫中已瀏覽的物件數目、 所傳回的物件數目或網域控制站的 LDAP 搜尋執行時間為基礎的目錄服務事件日誌中記錄的 LDAP 搜尋。如需有關事件識別碼 1644年的詳細資訊,請參閱 Hotfix 2800945 加入 Active Directory 事件記錄檔中的效能資料.

Event1644Reader.ps1 是在已儲存的目錄服務事件記錄檔中裝載的 1644年事件從擷取資料的 Windows PowerShell 指令碼。然後,它匯入該資料一系列的樞紐分析表,以協助系統管理員取得網域控制站及要產生這些查詢的用戶端還會被服務的 LDAP 工作負載的瞭解,Microsoft Excel 試算表中。
如何取得指令碼
您可以取得從指令碼 Microsoft 指令碼中心.

指令碼中心免責聲明
範例指令碼不受任何 Microsoft 標準支援程式或服務。範例指令碼是原樣提供,不提供任何形式之擔保。Microsoft 不作任何默示的擔保,包括但不限於,任何默示之適售性或適合某特定用途的適用性的擔保。承擔的使用或效能的範例指令碼和文件的全部風險由使用者承擔。在任何事件都應該 Microsoft,作者,或其他人參與建立、 生產,或傳送指令碼對於而導致之任何損害皆不 (包括但不限於、 營業利益、 營業中斷、 商業資訊遺失的損失的損害或其他金錢損失) 即使 Microsoft 已被告知賠償的可能性,承擔使用或無法使用的範例指令碼或文件。

線上的對等的支援
如需線上的對等的支援,請加入 正式的指令碼 Guy 論壇! 若要提供意見反應或報告範例指令碼中的 bug,請在討論區] 索引標籤,此指令碼開始新的討論。

如何使用指令碼
若要進一步分析的事件識別碼 1644年將擷取到的 LDAP 查詢,請依照下列步驟執行:
  1. 請確定您正在進行疑難排解擷取增強的網域控制站1644年事件中繼資料。

    注意Windows Server 2012 R2 加入增強的 1644年事件,藉由錄製 LDAP 查詢持續多久及其他中繼資料來記錄。增強的 1644年事件記錄是 Windows Server 2012、 Windows Server 2008 R2,和 Windows Server 2008 的 hotfix 的 backported 2800945.
  2. 您可以設定下列的 「欄位工程」 登錄項目值為5:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics\Field Engineering
    注意將欄位工程記錄詳細等級設定為 5,會導致目錄服務事件記錄檔會記錄其他事件。當您不主動收集 1644年事件,請重欄位工程設回其預設值為 0。(這個動作並不需要重新啟動)。
  3. 如果下列登錄項目存在,請變更值到需要的臨界值,以毫秒為單位。如果特定的登錄項目不存在,建立新的項目同名,,,然後將其值設定為需要的臨界值,以毫秒為單位。
    登錄路徑資料型別預設值
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Search 時間臨界值 (毫秒)DWORD30000
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Expensive 搜尋結果的臨界值DWORD10000
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Inefficient 搜尋結果的臨界值DWORD1000
    注意事項
    • 當啟用欄位工程記錄層級,而且不是搜尋時間臨界值 (毫秒)的登錄項目,或設為0時,則時間臨界值的預設值為 30000 毫秒。(這個動作並不需要重新啟動)。
    • 其中一種策略,就是沒有效率的搜尋結果臨界值] 和 [高度耗費資源的搜尋結果臨界值的登錄設定值,設定登錄值按住然後焦點事件,藉以搜尋時間 (毫秒)。較大的值,如 100 毫秒的開頭,且您最佳化查詢發生在您的環境中,然後以累加方式減少值。
    • Event1644Reader.ps1 內可剖析來自多個網域控制站的事件。設定欄位工程、 花高昂費用的搜尋時間和效率不佳的登錄機碼設定,您要檢閱 LDAP 搜尋的所有網域控制站。

  4. 下載Event1644Reader.ps1檔案,從 Microsoft 指令碼中心 將分析的電腦用來儲存使用中目錄服務的 EVTX 檔案含有 1644年事件。

    這台電腦應該要有 Microsoft Excel 2010 或較新版本會安裝,且應該有足夠的磁碟空間,以便放置目錄服務事件記錄檔會在剖析指令碼。
  5. 儲存含有 1644年事件,您用來啟用登入 1644年分析電腦的 1644年事件之網域控制站的目錄服務事件記錄檔的複本。
  6. 在 [Windows 檔案總管] 中以滑鼠右鍵按一下Event1644Reader.ps1檔案中,,然後選取 [使用 PowerShell 執行
    螢幕擷取畫面,這個步驟如下:
    這個步驟的螢幕擷取畫面。
  7. 略過 PowerShell 執行原則,視需要,請按 Y。
  8. 指定要剖析的 EVTX 檔案的路徑。
  9. 當您看到與下列螢幕擷取畫面的提示時,請採取下列動作:
    PowerShell 螢幕擷取畫面。
    • 按下 Enter 剖析所有的 EVTX 檔案位於與 Enent1644Reader.ps1 檔案相同的目錄中。
    • 型別 磁碟機:\路徑 包含要剖析的 EVTX 檔案的路徑。

    注意Event1644Reader.ps1 會剖析所有上層目錄服務的事件記錄位於目標路徑中每個指令碼執行的時間中的 1644年事件。
  10. 開啟要檢閱資料,並逐一瀏覽索引標籤上,一系列的工作表,然後將 Excel 試算表儲存為必要。如需有關工作表中的索引標籤的詳細資訊,請參閱"1644Reder.ps1 所建立的 Excel 試算表的逐步解說> 一節。
建置工具的附註.csv 檔案不會自動移除。請考慮您的調查完成後,請清除.csv 檔案。
其他相關資訊

逐步解說的由 Event1644Reader.ps1 所建立的 Excel 試算表

Event1644Reader.ps1 會從已儲存的目錄服務事件記錄檔中的 1644年事件中擷取中繼資料,並該資料匯入一系列的 Microsoft Excel 試算表中的索引標籤式工作表。

下表摘要每個索引標籤中所包含的資料:
Tab 鍵描述
RawData每個事件識別碼 1644年由所擷取的資料欄位會匯入不連續的資料行。篩選的資料會自動啟用,讓您可以排序或篩選在任一資料行行首。如果從多個網域控制站的 1644年事件記錄檔常駐於 PowerShell 指令碼與相同的目錄或系統管理員指定的目錄中,使用篩選器來檢視的目標特定的網域控制站的 LDAP 查詢。
Top_StartingNode提供為目標中指定的範例的 LDAP 查詢的目錄磁碟分割的排序的清單。如果將查詢的大部分發生在單一磁碟分割 (結構描述、 組態或網域),請考慮將該磁碟分割新增為剩餘的樞紐分析表中的篩選器。鑽研詳細資料公開 (expose) 頂端的篩選條件 (例如 LDAP 查詢),用戶端發出這些查詢,以及這些查詢日期和時間戳記的 Ip。
Top_Callers列出發出 LDAP 查詢,以遞減的總計百分比的搜尋計數順序的用戶端 IP 位址。計算加總的百分比,可協助您識別最高的呼叫者。(也就前 10 或 20 呼叫端可能會產生查詢磁碟區的 80%假設太多的呼叫您的問題)。篩選器 」 和 「 日期和時間的步驟,每個用戶端發出的 LDAP 查詢指定的範例中,會公開鑽研詳細資料。
Top_Filters最常發出 LDAP 查詢,以遞減順序磁碟區的清單。這包括平均的搜尋時間。LDAP 用戶端的 IP 位址的日期和時間送出每個查詢時,會公開鑽研詳細資料。
由呼叫端的 TotalSearchTime橫範例中的所有 LDAP 查詢的總的搜尋時間的遞減順序排列的用戶端 IP 位址。鑽研詳細識別 LDAP 查詢的日期和時間何時發行每個查詢。
TotalSearchTime 的篩選器列出的總的搜尋時間的遞減順序排列的 LDAP 查詢。LDAP 用戶端的 IP 位址的日期和時間送出每個相符的查詢時,會公開鑽研詳細資料。
搜尋時間陣序規範顯示時間為基礎的四發生的 LDAP 查詢數目。較慢的查詢是不正確。更快的查詢是很好,如果它們不太常發出。Microsoft Exchange 想發行的 Exchange 伺服器來解析 50 微秒或較少的 LDAP 查詢。因此,第一四分位數群組將重點放在該時間 」 桶。"
空白的樞紐分析這是空白的樞紐分析表,您可以變更所需顯示您的案例的特定資料。

案例分析

如果 LDAP 查詢速度很慢,或如果網域控制站上高 CPU 使用率,這可能因過度發出的查詢、 效率不佳的查詢、 查詢、 非同步執行緒佇列 (ATQ) 集區用盡,或變更通知的大量的某些組合。

如果用戶端問題昂貴而效率不佳,或是大量 LDAP 查詢,使用 Event1644Reader.ps1 來識別用戶端的 IP 位址的網域控制站上收集資料。然後,將這類查詢對應至處理序識別碼、 處理序名稱或用戶端電腦上呼叫的應用程式中。

下表列出了這個問題可能的最佳化。

最佳化/降低風險概要
停止過度的工作負載。 如果許多或 LDAP 查詢造成服務停止,專注於上方的呼叫用戶端和工作來識別和消除過度的工作負載的來源。

可能的選項,來識別應用程式可讓您包括使用 PROCMON,ETL/ETW 追蹤和偵錯的分析,以判斷應用程式產生用戶端上的 LDAP 查詢。另一項策略是使用 topping 服務,或移除要產生 LDAP 查詢的應用程式的除以由兩種方法。發出的查詢可能 implicate 的呼叫的應用程式或處理序。
安裝更新的 LDAP 查詢最佳化器。 Windows Server 2012 R2 包含更新的 LDAP 查詢最佳化工具,可改善對大多數查詢的效能。Windows Server 2012 R2 子集是 Windows Server 2008 R2 並在 Windows Server 2012 backported 2862304 hotfix.
請確定用戶端會送出到最佳站台的網域控制站的查詢。 傳送跨 WAN 的 LDAP 查詢,是在網域控制站和其回覆給用戶端上的 LDAP 查詢交給中引入網路延遲。請確定 Active Directory 站台和子網路定義存在 Active Directory 中的用戶端和伺服器電腦。

請確定應用程式並不需要硬式編碼參考到遠端站台網域控制站,或可讀取寫入的網域控制站存在最佳站台的網域控制站時,才。
如果需要使用的軟體開發人員,以減少發出查詢的頻率。這包括使用快取。更有效率地發出的查詢可以打敗向下的適當地調整大小,且已設定的網域控制站中,如果太常發出查詢。
應用程式可能需要調節其查詢磁碟區或快取查詢結果,以減少網路、 LDAP 及 CPU 負載。
最佳化的 LDAP 查詢,以更快速地執行。查詢語法可能要會重建來更快速地執行。
向左或向右在篩選條件內部移動查詢項目,可以改善效能。
新增 double"not"可能改善查詢效能。
請考慮減少已經開始查詢的較低,在樹狀目錄中瀏覽過的物件數目。
請減少查詢所傳回的屬性。
加入所需的 Active Directory 屬性中的索引。新增索引可改善查詢效能。這會有副作用,增加資料庫大小的而且可能會對 Active Directory 複寫,在索引建置期間暫時的延遲。
判斷程式碼的缺失是否存在於查詢最佳化器和其他元件。缺失,包括 LDAP 查詢最佳化器和其他元件可以減少產能。

已知的問題

Excel 試算表中的值不會顯示,或使用非英文語言的電腦上適當地呈現。

例如,發生這種情況在電腦上時取得文化特性Windows PowerShell,cmdlet 表示為區域的設定如下:
PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-Culture LCID             Name             DisplayName  ----             ----             -----------1031             de-DE            German (Germany)PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-UICultureLCID            Name            DisplayName  ----             ----             -----------1033             en-US            English (United States)                                                      
在此情況下,Excel 試算表中的數字會呈現如下列螢幕擷取畫面所示:
螢幕擷取畫面的 Excel 呈現

若要解決這個問題,請將小數點符號改在控制台中 [區域設定] 項目中的句號 (.)。


如需有關 LDAP 查詢的詳細資訊,請參閱下列的部落格:

警告:本文為自動翻譯

內容

文章識別碼:3060643 - 最後檢閱時間:09/25/2015 10:41:00 - 修訂: 3.0

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Essentials, Windows Server 2012 R2 Foundation, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Foundation

  • kbprb kbtshoot kbexpertiseadvanced kbsurveynew kbmt KB3060643 KbMtzh
意見反應