持續檢查與域控制器的 LDAP 連接(LDAP 心跳檢查)
致力於開發通過計劃任務執行的腳本;它的全部目的是針對少數域控制器並連續(每 2 秒)針對該特定 DC 執行 ldap 查詢並將輸出轉儲到 csv find.Essentially,我正在執行以下步驟。
$root = [ADSI]"LDAP://CN=$TargetDCName,OU=Domain Controllers,DC=Fabricom,DC=com" $search = [adsisearcher]$root $Search.Filter = "(&(objectClass=computer))" $Search.SearchScope = "base" $Obj = $Search.Findone() $Obj = $Obj.Path $DateFormatted = Get-Date -uformat "%Y-%m-%d_%I-%M-%S-%p" $Data = $DateFormatted + "," + $TargetDCName+ "," + "$Obj" Add-Content -Path $Path -Value $Data
現在我幾乎沒有疑問了;1.)我在上面所做的是否對 LDAP 連接檢查有意義,因為我正在使用與 ROOT/Base 相同的 DC 查詢 DC。(上面的程式碼是否確認從任何應用程序到該特定 DC 的 LDAP 連接存在是否正確配置?)
2.) 這個問題是關於 powershell 的,如何在 powershell 中獲取 LDAP 錯誤日誌?我想針對不存在或已關閉的 DC 對其進行測試,我應該期待什麼日誌事件以及如何擷取它。
3.) 與問題 2 相同,如果 DC 存在複製問題,是否會影響 LDAP 連接?應該擷取哪些日誌以及如何擷取?以下是一些複製錯誤,這些事件是否會導致 LDAP 連接問題?
** -> (1256) 遠端系統不可用。有關網路故障排除的資訊,請參閱 Windows 幫助。->(1722) RPC 伺服器不可用。->(8206) 目錄服務正忙。->(8438) 此時目錄服務太忙,無法完成複制操作。**
4.) 如何辨識 LDAP 查詢的延遲?由於這個腳本是獨立執行的,有沒有辦法確定它所花費的時間或測量它的延遲?
如果需要更多資訊,請告訴我。
我在上面所做的是否有意義作為 LDAP 連接檢查
每 2 秒執行一次是多餘的。太多了。如果您要這樣做,請考慮將間隔延長為每 5 分鐘左右檢查一次。LDAP 伺服器不太容易崩潰,以至於您需要每 2 秒檢查一次。
上面的程式碼是否確認存在從任何正確配置的應用程序到該特定 DC 的 LDAP 連接?)
是的,它將測試 LDAP 連接。這不是唯一的方法,它可能是也可能不是最好的方法,但它是一種方法。
我也懷疑您如何在腳本的每次迭代(每 2 秒!)上輸出到 CSV,並且每次迭代都簡單地覆蓋相同的 CSV。如果您改為將輸出發送到 SQL 數據庫並在每次腳本執行時添加一行,您將擁有更多的上下文數據。例如,您可以查詢數據庫,發現從上午 10:00 到上午 10:30 中斷了 30 分鐘,然後在 7 月 7 日上午 11:45 到上午 11:50 中斷了 5 分鐘, ETC。
這個問題是關於 powershell 的,如何在 powershell 中獲取 LDAP 錯誤日誌?我想針對不存在或已關閉的 DC 對其進行測試,我應該期待什麼日誌事件以及如何擷取它。
您需要創建自己的事件日誌記錄。Powershell 不會在沒有您要求的情況下自動記錄每個錯誤和異常。考慮使用
Start-Transcript
將您的 Powershell 會話記錄到文件中。或者,您可以使用New-Event
cmdlet 創建您自己的自定義事件日誌消息。使用 Try/Catch 塊輕鬆擷取異常。您還可以在腳本中使用 $Error 變數來查看最後一個錯誤。與問題 2 相同,如果 DC 存在複製問題,應擷取哪些日誌以及如何擷取?
這不是在域控制器上測試複製問題的合適方法。您應該使用
repadmin.exe /showreps
目錄服務事件日誌等來監控複製執行狀況。**編輯:**為了解決您的更新,
RPC 錯誤不等同於 Active Directory 複製錯誤。RPC 伺服器可用性是一個單獨的問題……儘管 RPC 伺服器可用性問題的根本原因當然也可能導致巧合的複制問題。需要更多故障排除。
如何辨識 LDAP 查詢的延遲?由於這個腳本是獨立執行的,有沒有辦法確定它所花費的時間或測量它的延遲?
從客戶端的角度來看,該
Measure-Command
cmdlet 擅長告訴您某事花費了多長時間。或者,您可以使用底層 System.Diagnostics.Stopwatch .NET 對象。這是相當準確的。從伺服器的角度來看,您可能希望查看性能監視器。(Perfmon)查看“目錄服務”和 NTDS perfmon 對象——它們有各種性能計數器,與每秒執行多少目錄讀取、平均時間、隊列長度等有關。Perfmon 計數器有利於整體健康,但伺服器可能不會跟踪每個單獨的 LDAP 查詢的延遲。如果您對該測量感興趣,您可能希望從客戶那裡進行測量。