Partilhar via


Acessando dados de desempenho no script

Os scripts WMI podem acessar as classes de contador de desempenho WMI pré-instaladas, no computador local ou remotamente. Enquanto os scripts podem obter dados de classes não calculadas, como Win32_PerfRawData_PerfOS_Memory, ou classes formatadas, Win32_PerfFormattedData_PerfOS_Memory, as classes de dados formatadas podem ser mais fáceis de usar.

A monitorização de dados de desempenho com as classes do contador de desempenho requer o uso de um atualizador . Use o objeto SWbemRefresher para armazenar um ou mais objetos de desempenho para atualização ou para refrescar um único objeto através da chamada SWbemObjectEx.Refresh. Para mais informações sobre como atualizar dados WMI em scripts, consulte .

Ao definir a propriedade SWbemRefresher.AutoReconnect como TRUE, o WMI se reconecta automaticamente a um provedor remoto se a conexão for interrompida para que você não precise verificar o status da conexão.

Conforme mostrado no script de exemplo de código de script a seguir, você deve fazer uma chamada de atualização inicial para obter um valor inicial para o objeto que está atualizando. As chamadas de atualização subsequentes contêm dados.

Observação

Quando um script está acessando dados do contador de desempenho WMI de um computador remoto, o script só pode ser executado na conta de usuário conectada atual. O WMI não suporta uma chamada SWbemLocator.ConnectServer que passa credenciais de utilizador diferentes. Portanto, a conta que chama o computador remoto já deve ter os privilégios apropriados nesse computador.

 

O exemplo de código de script a seguir mostra como usar um objeto SWbemRefresher para atualizar os dados em objetos do contador de desempenho. Para obter mais informações sobre como usar contadores de desempenho no WMI, consulte Acessando classes de desempenho pré-instaladas do 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

Exemplo

O exemplo de código de script a seguir mostra que você deve fazer uma chamada de atualização inicial para obter um valor inicial para o objeto atualizado. As chamadas de atualização subsequentes contêm dados.

O exemplo de código de script a seguir mostra como usar um objeto SWbemRefresher para atualizar os dados em objetos do contador de desempenho. Para obter mais informações sobre como usar contadores de desempenho no WMI, consulte Acessando classes de desempenho pré-instaladas do 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

classes de contador de desempenho

Tarefas WMI: Monitoramento de desempenho

Monitoramento de dados de desempenho