Windows-Server-2008-R2

查找上次執行碎片整理 WMI 或 Reg 鍵

  • September 25, 2014

我正在嘗試發現我們的伺服器上是否執行了碎片整理。為了節省自己去每一個並載入碎片整理程序並檢查“上次執行”列,我認為 WMI 可能有此資訊。我一直在檢查 Win32_Volume 類,可以看到它可用於啟動碎片整理和執行分析。我找不到任何關於上次完成時間的參考。我寧願只拉下一個對象,也不願每次都執行分析。有沒有辦法通過 WMI 或 reg 鍵找到這些資訊?

在應用程序事件日誌中執行事件 ID 258 的查詢

PS F:\ps1> get-winevent -filterHashTable @{Logname = 'Application'; ID = '258';} | select-object -first 1 -prop machinename,timecreated,message | fl

MachineName : coyote.acme.com
TimeCreated : 9/24/2014 2:28:07 AM
Message     : The disk defragmenter successfully completed defragmentation on (C:)

我看到你已經有了答案。但是,如果您想使用 DefragAnalysis,您可能會以不同的方式看待這個問題。

$driveLetter = Get-WmiObject -Class Win32_Volume -Filter "DriveLetter = 'C:'"
$driveDefrag = $driveLetter.DefragAnalysis()
$driveDefrag.DefragAnalysis

$report.DefragRecommended如果作業系統認為它需要碎片整理並且$report.DefragAnalysis還有很多其他有用的資訊,則會顯示。

引用自:https://serverfault.com/questions/631278