processos em execução que não estão sendo utilizados em última instância pode causar problemas de memória em um sistema. Um problema comum quando se trabalha com programas externos não é ser capaz de matar um processo completamente . Um processo é basicamente um programa que está sendo executado. Você pode visualizar processos em execução usando o Windows Task Manager usando a guia Processos. Você pode terminar um processo manualmente, mas em um caso onde você tem muitos processos em execução , a melhor opção é acabar com eles por meio de programação usando VBScript. Serviço WMI
Para matar um processo , é preciso chamar o serviço WMI ( Winmgmt ) para obter informações como o nome de um processo que está sendo executado. Este serviço é executado sob a conta do sistema local e pode ser chamado usando VBScript , acessando a API WMI Scripting para WMI. Além de processos de matar , você também pode realizar outras ações como a criação de processos de utilização deste serviço.
WMI Security Settings
Para se comunicar com o serviço WMI , você precisa especificar o componente de segurança . Existem diferentes tipos de níveis de representação como anônimo , identificar, personificam e delegado. Segundo a Microsoft, o anônimo " esconde as credenciais do chamador ", ea identificar " permite que objetos para consultar as credenciais do chamador. " O mais comumente utilizado é o nível impersonate , o que , de acordo com a Microsoft " , permite que objetos para usar as credenciais do chamador. " Por último é o nível delegado acordo com a Microsoft que " permite que objetos para permitir outros objetos para usar as credenciais do chamador. "
Win32_Process Classe
a classe Wind32_Process WMI corresponde a um processo em execução no sistema. Essa classe tem métodos e propriedades que você pode chamar para obter informações sobre um processo. Você pode depurar um processo com o lançamento do método " AttachDebugger " ou encerrar um processo e todos os seus segmentos , utilizando o método "Terminar " . Use a propriedade " Caption " para obter uma breve descrição de um processo ou o " CreationDate " para obter a data em que o processo começou a ser executado .
VBScript Morte Excel Exemplo
o seguinte é um exemplo simples em VBScript para matar todas as instâncias ativas do Excel.exe usando a API WMI:
SET WMIServicesObject = GetObject ( " winmgmts : " _ & " { ImpersonationLevel = impersonate } ! \\ \\. \\ root \\ cimv2 " ) SET qryProcesses = WMIServicesObject.ExecQuery _ (" Select * from Win32_Process WHERE nome = ' EXCEL.exe ' ") xCntr = 0FOR CADA xlProcess em qryProcesses xlProcess.Terminate () = xCntr xCntr + 1NEXTwscript.echo " matou " & xCntr e " processos de EXCEL.exe "