Accès aux données de performances dans le script
Les scripts WMI peuvent accéder aux classes de compteur de performancesWMI préinstallées, soit sur l’ordinateur local, soit à distance. Alors que les scripts peuvent obtenir des données à partir de classes non calculées, telles que la _ _ _ mémoire PerfRawData perfos de Win32ou des classes mises en forme, la _ mémoire Win32 PerfFormattedData _ perfos _, les classes de données mises en forme peuvent être plus faciles à utiliser.
L’analyse des données de performances avec les classes de compteur de performance requiert l’utilisation d’un actualisateur. Utilisez l’objet SWbemRefresher pour stocker un ou plusieurs objets de performance pour l’actualisation ou pour actualiser un seul objet par l’appel SWbemObjectEx. Refresh . Pour plus d’informations, consultez actualisation des données WMI dans les scripts.
En affectant la valeur true à la propriété SWbemRefresher. reconnexion automatique , WMI se reconnecte automatiquement à un fournisseur distant si la connexion est interrompue, de sorte que vous n’avez pas besoin de vérifier l’état de la connexion.
Comme indiqué dans l’exemple de script de code de script suivant, vous devez effectuer un appel d’actualisation initial pour obtenir une valeur de départ pour l’objet que vous actualisez. Les appels d’actualisation suivants contiennent ensuite des données.
Notes
Lorsqu’un script accède aux données du compteur de performances WMI à partir d’un ordinateur distant, le script ne peut s’exécuter que sous le compte d’utilisateur actuellement connecté. WMI ne prend pas en charge un appel SWbemLocator. ConnectServer qui transmet des informations d’identification d’utilisateur différentes. Par conséquent, le compte qui appelle l’ordinateur distant doit déjà disposer des privilèges appropriés sur cet ordinateur.
L’exemple de code de script suivant montre comment utiliser un objet SWbemRefresher pour mettre à jour les données dans des objets de compteur de performance. Pour plus d’informations sur l’utilisation des compteurs de performance dans WMI, consultez accès aux classes de performances préinstallées par 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
Exemple
L’exemple de code de script suivant montre que vous devez effectuer un appel d’actualisation initial pour obtenir une valeur de départ pour l’objet actualisé. Les appels d’actualisation suivants contiennent ensuite des données.
L’exemple de code de script suivant montre comment utiliser un objet SWbemRefresher pour mettre à jour les données dans des objets de compteur de performance. Pour plus d’informations sur l’utilisation des compteurs de performance dans WMI, consultez accès aux classes de performances préinstallées par 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