Tarefas WMI: Monitoramento de desempenho
Utilize as classes WMI que obtêm dados de contadores de desempenho para aceder e atualizar dados sobre o desempenho do computador. Para obter outros exemplos, consulte o TechNet ScriptCenter em https://www.microsoft.com/technet. Para obter mais informações, consulte Bibliotecas de desempenho e WMI e Monitorização de Dados de Desempenho.
Os exemplos de script mostrados neste tópico obtêm dados somente do computador local. Para obter mais informações sobre como usar o script para obter dados de computadores remotos, consulte Conectando-se ao WMI em um computador remoto.
O procedimento a seguir descreve como executar um script.
Para executar um script
- Copie o código e salve-o em um arquivo com uma extensão .vbs, como filename.vbs. Certifique-se de que o editor de texto não adiciona uma extensão .txt ao arquivo.
- Abra uma janela de prompt de comando e navegue até o diretório onde você salvou o arquivo.
- Digite cscript filename.vbs na linha de comandos.
- Se não conseguir aceder a um registo de eventos, verifique se está a executar a partir de uma linha de comandos elevados. Alguns Registos de Eventos, como o Registo de Eventos de Segurança, podem estar protegidos por Controlo de Acesso do Utilizador (UAC).
Observação
Por padrão, o cscript exibe a saída de um script na janela do prompt de comando. Como os scripts WMI podem produzir grandes quantidades de saída, convém redirecionar a saída para um arquivo. Digite cscript filename.vbs > outfile.txt no prompt de comando para redirecionar a saída do script filename.vbs para outfile.txt.
A tabela a seguir lista exemplos de script que podem ser usados para obter vários tipos de dados do computador local.
Como faço para... | Classes ou métodos WMI | ||
---|---|---|---|
... obter os dados dos contadores de desempenho que posso ver no utilitário Perfmon num script? | Use classes que tenham nomes que comecem com "Win32_PerfFormattedData", por exemplo, Win32_PerfFormattedData_PerfProc_Process. Propriedades com nomes como PageFileBytes correspondem aos contadores de desempenho que você vê no Perfmon. As classes "Win32_PerfFormattedData" calculam os valores finais dos contadores para você. |
||
... Obter dados de desempenho contínuos para um único processo, unidade de disco e outros dados? | Use o Win32_PerfFormattedData_PerfProc_Process ou o de classe do contador de desempenho de formatado apropriado e o método SWbemObjectEx.Refresh_. Para obter mais informações, consulte Scripting with SWbemObject. Em C++, use IWbemConfigureRefresher::AddObjectByPath e IWbemRefresher::Refresh. Para obter mais informações, consulte Monitorização de Dados de Desempenho. O script a seguir é executado até que o computador seja reiniciado, o WMI seja interrompido ou o script seja interrompido. Para parar o script manualmente, use o Gerenciador de Tarefas para parar o processo. Para pará-lo programaticamente, use o método Terminate na classe Win32_Process.
|
||
... Obter dados de desempenho contínuos para todos os processos sem sondagens repetidas? | Use classes que tenham nomes que comecem com "Win32_PerfFormattedData" e um objeto SWbemRefresher. A atualização mantém os objetos para que você não precise obter a coleção repetidamente. Um mínimo de dois valores são necessários para calcular os dados de desempenho porque a maioria dos contadores são contadores de taxa. A primeira vez que você exibe os dados de atualização, ele está vazio. O script a seguir é executado indefinidamente até que o computador seja reinicializado, o WMI seja interrompido ou o script seja interrompido. Para parar o script manualmente, use o Gerenciador de Tarefas para parar o processo. Para pará-lo programaticamente, use o método Terminate na classe Win32_Process.
|
||
... obter e calcular dados de desempenho para processos no Windows 2000? | Utilize as classes "Win32_PerfRawData", como Win32_PerfRawData_PerfProc_Process. Obtenha os dados da propriedade, como PercentProcessorTime, duas vezes para um processo específico. Procure a fórmula especificada no qualificador CounterType para a propriedade e calcule. O CounterType no exemplo é PERF_100NSEC_TIMER_INV. Para obter mais informações, consulte Monitorização de Dados de Desempenho. O script a seguir é executado indefinidamente até que o computador seja reinicializado, o WMI seja interrompido ou o script seja interrompido. Para parar o script manualmente, use o Gerenciador de Tarefas para parar o processo. Para pará-lo programaticamente, use o método Terminate na classe Win32_Process.
|