共用方式為


存取腳本中的效能數據

WMI 文稿可以在本機電腦上或遠端存取預安裝的 WMI 性能計數器類別。 雖然腳本可以從未計算的類別取得數據,例如 Win32_PerfRawData_PerfOS_Memory或格式化類別,Win32_PerfFormattedData_PerfOS_Memory,但格式化的數據類別更容易使用。

要使用效能計數器類別來監視效能資料,需要使用 更新器。 使用 SWbemRefresher 物件來儲存一個或多個性能物件以便重新整理,或使用 SWbemObjectEx.Refresh 呼叫來重新整理單一物件。 如需詳細資訊,請參閱 在腳本中重新整理 WMI 數據

SWbemRefresher.AutoReconnect 屬性設定為 true,如果連線中斷,WMI 會自動重新連線到遠端提供者,讓您不需要檢查連線狀態。

如下列腳本程式代碼範例腳本所示,您必須進行初始重新整理呼叫,以取得您要重新整理之物件的起始值。 後續的刷新呼叫接著會包含數據。

注意

當腳本從遠端計算機存取 WMI 性能計數器數據時,腳本只能在目前的登入使用者帳戶下執行。 WMI 不支援傳遞不同使用者認證的 SWbemLocator.ConnectServer 呼叫。 因此,呼叫遠端電腦的帳戶必須已經有該電腦上的適當許可權。

 

下列腳本程式代碼範例示範如何使用 SWbemRefresher 物件來更新性能計數器物件中的數據。 如需在 WMI 中使用效能計數器的詳細資訊,請參閱 存取 WMI 預安裝性能類別

' Get raw and cooked data performance counter instances for the
" wscript process running this script

set RawProc = GetObject("winmgmts:Win32_PerfRawdata_Perfproc_process.name='wscript'")
set CookedProc = GetObject("winmgmts:Win32_Perfformatteddata_Perfproc_process.name='wscript'")

' Display the same property in raw and cooked form in a loop
for I = 1 to 6
    Wscript.Echo "wscript process raw PageFaultsPerSec = & RawProc.PageFaultsPerSec _
                 & " cooked PageFaultsPerSec= " & CookedProc.PageFaultsPerSec 

' Wait 2 seconds
    Wscript.Sleep 2000
    
    ' Refresh the object
    RawProc.Refresh_
    CookedProc.Refresh_
next

下列腳本程式代碼範例顯示您必須進行初始重新整理呼叫,以取得重新整理物件的起始值。 後續刷新呼叫會包含數據。

下列腳本程式代碼範例示範如何使用 SWbemRefresher 物件來更新性能計數器物件中的數據。 如需在 WMI 中使用效能計數器的詳細資訊,請參閱 存取 WMI 預安裝性能類別

' Get raw and cooked data performance counter instances for the
" wscript process running this script

set RawProc = GetObject("winmgmts:" _
                        & "Win32_PerfRawdata_Perfproc_process." _
                        & "name='wscript'")
set CookedProc = GetObject("winmgmts:" _ 
                & "Win32_Perfformatteddata_Perfproc_process." _
                & "name='wscript'")

' Display the same property in raw and cooked form in a loop
for I = 1 to 6
    Wscript.Echo "wscript process raw PageFaultsPerSec = " _
                 & RawProc.PageFaultsPerSec _
                 & " cooked PageFaultsPerSec= " _
                 & CookedProc.PageFaultsPerSec 

' Wait 2 seconds
    Wscript.Sleep 2000
    
    ' Refresh the object
    RawProc.Refresh_
    CookedProc.Refresh_
next

性能計數器類別

WMI 工作:效能監控

監控性能數據