Freigeben über


Zugreifen auf Leistungsdaten im Skript

WMI-Skripts können entweder auf dem lokalen Computer oder remote auf die vorinstallierten WMI-Leistungsindikatorklassen zugreifen. Skripts können zwar Daten aus nicht berechneten Klassen wie Win32_PerfRawData_PerfOS_Memory oder formatierten Klassen, Win32_PerfFormattedData_PerfOS_Memory, abrufen, aber die formatierten Datenklassen können einfacher verwendet werden.

Für die Überwachung von Leistungsdaten mit den Leistungsindikatorklassen muss eine Aktualisierung verwendet werden. Verwenden Sie das SWbemRefresher-Objekt, um ein oder mehrere Leistungsobjekt(e) zum Aktualisieren zu speichern oder um ein einzelnes Objekt durch den Aufruf SWbemObjectEx.Refresh zu aktualisieren. Weitere Informationen finden Sie unter Aktualisieren von WMI-Daten in Skripts.

Durch Festlegen der Eigenschaft SWbemRefresher.AutoReconnect auf TRUE stellt WMI eine Verbindung mit einem Remoteanbieter automatisch wieder her, wenn sie unterbrochen wurde. Deshalb müssen Sie nicht nach dem Verbindungsstatus suchen.

Wie im folgenden Skriptcodebeispiel gezeigt wird, müssen Sie einen ersten Aktualisierungsaufruf durchführen, um einen Startwert für das zurzeit aktualisierte Objekt zu erhalten. Nachfolgende Aktualisierungsaufrufe enthalten dann Daten.

Hinweis

Wenn ein Skript von einem Remotecomputer aus auf WMI-Leistungsindikatordaten zugreift, kann es nur unter dem zurzeit angemeldeten Benutzerkonto ausgeführt werden. WMI unterstützt keinen SWbemLocator.ConnectServer-Aufruf, der verschiedene Benutzeranmeldeinformationen übergibt. Deshalb muss das Konto, das den Remotecomputer aufruft, bereits die entsprechenden Berechtigungen auf diesem Computer haben.

 

Das folgende Skriptcodebeispiel zeigt, wie Sie mithilfe eines SWbemRefresher-Objekts die Daten in Leistungsindikatorobjekten aktualisieren. Weitere Informationen zur Verwendung von Leistungsindikatoren in WMI finden Sie unter Zugreifen auf vorinstallierte WMI-Leistungsklassen.

' 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

Beispiel

Das folgende Skriptcodebeispiel zeigt, dass Sie einen ersten Aktualisierungsaufruf durchführen müssen, um einen Startwert für das aktualisierte Objekt zu erhalten. Nachfolgende Aktualisierungsaufrufe enthalten dann Daten.

Das folgende Skriptcodebeispiel zeigt, wie Sie mithilfe eines SWbemRefresher-Objekts die Daten in Leistungsindikatorobjekten aktualisieren. Weitere Informationen zur Verwendung von Leistungsindikatoren in WMI finden Sie unter Zugreifen auf vorinstallierte WMI-Leistungsklassen.

' 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

Leistungsindikatorklassen

WMI-Aufgaben: Leistungsüberwachung

Überwachen von Leistungsdaten