Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Скрипты 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 : мониторинг производительности