Sdílet prostřednictvím


Přístup k datům o výkonu ve skriptu

Skripty rozhraní WMI mají přístup k předinstalovaným třídám čítačů výkonu , a to buď na místním počítači, nebo vzdáleně. I když skripty mohou získat data z nepřepočítaných tříd, jako jsou Win32_PerfRawData_PerfOS_Memory, nebo z formátovaných tříd, Win32_PerfFormattedData_PerfOS_Memory, formátované třídy mohou být snadněji použitelné.

Monitorování výkonových dat pomocí tříd čítačů výkonu vyžaduje použití aktualizačního . Použijte objekt SWbemRefresher k uložení jednoho nebo více výkonových objektů pro obnovení, nebo obnovte jediný objekt voláním SWbemObjectEx.Refresh. Další informace naleznete v tématu Aktualizace dat rozhraní WMI ve skriptech.

Nastavením vlastnosti SWbemRefresher.AutoReconnect na hodnotu TRUE, služba WMI se automaticky znovu připojí ke vzdálenému zprostředkovateli, pokud je připojení přerušeno, abyste nemuseli kontrolovat stav připojení.

Jak je znázorněno v následujícím ukázkovém skriptu, musíte provést volání k počáteční aktualizaci, aby se získala počáteční hodnota pro objekt, který aktualizujete. Následná volání aktualizace pak obsahují data.

Poznámka

Pokud skript přistupuje k datům čítače výkonu rozhraní WMI ze vzdáleného počítače, může skript běžet pouze pod aktuálním přihlášeným uživatelským účtem. Rozhraní WMI nepodporuje volání SWbemLocator.ConnectServer, které předává jiné přihlašovací údaje uživatele. Účet volající vzdálený počítač proto už musí mít příslušná oprávnění na tomto počítači.

 

Následující příklad kódu skriptu ukazuje, jak použít SWbemRefresher objekt k aktualizaci dat v objektech čítače výkonu. Další informace o používání čítačů výkonu ve službě WMI naleznete v tématu Přístup k předinstalovaným třídám výkonu rozhraní 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

Příklad

Následující příklad kódu skriptu ukazuje, že musíte provést počáteční volání aktualizace získat počáteční hodnotu pro obnovený objekt. Následná volání pro obnovení pak již obsahují data.

Následující příklad kódu skriptu ukazuje, jak použít SWbemRefresher objekt k aktualizaci dat v objektech čítače výkonu. Další informace o používání čítačů výkonu ve službě WMI naleznete v tématu Přístup k předinstalovaným třídám výkonu rozhraní 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

třídy čítačů výkonu

úlohy rozhraní WMI: Monitorování výkonu

monitorování dat o výkonu