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
관련 항목