Windows-Server-2008-R2
如何比 dfsrdiag 更有效地監控 DFSR 積壓
有沒有辦法以比使用更有效的方式監控 DFSR 積壓
dfsrdiag.exe backlog
?我寫了一個程序,它只是以
dfsrdiag.exe backlog /smem:alpha /rmem:beta /rgname:domain\namespace\foldername /rfname:foldername
五分鐘的間隔在積壓計數中啜飲。每次執行時,都需要相當長的時間(2 到 5 分鐘)才能獲得結果值。這意味著最終,它會執行幾分鐘來收集資訊,然後延遲五分鐘。為了獲得這些資訊,感覺它可能以某種方式很昂貴。它還返回積壓中的前 100 個文件。我真的只想要積壓計數而不關心文件本身。這被用來創建歷史圖表。這些 DFSR 對等點的資訊:四台伺服器上的 Windows 2008 R2,三個通過 50-100Mb Internet 連接連接的遠端辦公室,30 個複制組,幾個複制組的文件總大小非常大(每個 1-2TB),儘管大多數都很小(500MB -10GB)。
還有另一種獲取資訊的方法,那就是通過 WMI。一個有進取心的人編寫了一個 PowerShell 腳本來收集這些資訊:
http://gallery.technet.microsoft.com/scriptcenter/dac62790-219d-4325-a57b-e79c2aa6b58e
沒有跡象表明是否比 快
dfsrdiag
,但我懷疑它可能是。WMI 根目錄是
root\MicrosoftDFS
,從那裡您可以通過以下方式進行查詢Get-WmiObject
這是一種純粹的 PowerShell 方法:
$RegEx=[System.Text.RegularExpressions.Regex]::new("Count: (\d+)$") $DFSObjects=@() $DFSRMembers=Get-DfsrMembership | Where-Object { $_.Enabled } | Where-Object { $_.GroupName -eq "<namespace>" } $DFSRMembers=@($DFSRMembers) if ($DFSRMembers.Count -gt 1) { for ($i=0; $i -lt $DFSRMembers.Count; $i++) { $OtherMembers=$DFSRMembers | Where-Object { ($_.ComputerName -ne $DFSRMembers[$i].ComputerName) -and ($_.FolderName -eq $DFSRMembers[$i].FolderName) } $OtherMembers=@($OtherMembers) if ($OtherMembers.Count -ne 0) { for ($j=0; $j -lt $OtherMembers.Count; $j++) { $BackLog=($($Junk=.{Get-DfsrBacklog -GroupName $DFSRMembers[$i].GroupName -FolderName $DFSRMembers[$i].FolderName -SourceComputerName $DFSRMembers[$i].ComputerName -DestinationComputerName $OtherMembers[$j].ComputerName -Verbose}) 4>&1).Message $Matches=$RegEx.Matches($BackLog) if ($Matches -ne $null) { $BackLog=[System.Convert]::ToInt32($RegEx.Matches($backlog).Groups[1].Value) } else { $BackLog=0 } $DFSObject=New-Object -Type PSObject -Property @{Group=$DFSRMembers[$i].GroupName;Folder=$DFSRMembers[$i].FolderName;From=$DFSRMembers[$i].ComputerName;To=$OtherMembers[$j].ComputerName;Backlog=$BackLog} $DFSObjects+=$DFSObject } } } } $DFSObjects | Sort-Object -Property BackLog -Descending | Format-Table -Property Group,Folder,From,To,Backlog