Per uccidere un processo , è necessario chiamare il servizio WMI ( Winmgmt ) per ottenere informazioni come il nome di un processo attualmente in esecuzione . Questo servizio viene eseguito con l'account LocalSystem e può essere chiamato tramite VBScript accedendo alla WMI Scripting API per WMI . Oltre a uccidere i processi , è anche possibile eseguire altre azioni come la creazione di processi che utilizzano questo servizio .
WMI Security Settings
Al fine di comunicare al servizio WMI , è necessario specificare il componente di sicurezza . Ci sono diversi tipi di livelli di rappresentazione come anonimo , identificare, impersonare , e delegato. Secondo Microsoft, i "nasconde le credenziali del chiamante ", anonimi e l' individuare " consente agli oggetti di interrogare le credenziali del chiamante . " Il più comunemente usato è il livello di impersonare , che, secondo Microsoft , " consente oggetti da utilizzare le credenziali del chiamante ". Infine è il livello delegato secondo Microsoft si " permette oggetti per consentire altri oggetti da utilizzare le credenziali del chiamante ".
Win32_Process Classe
La classe WMI Wind32_Process corrisponde a un processo in esecuzione nel sistema. Questa classe ha i metodi e le proprietà che è possibile chiamare per ottenere informazioni su un processo. È possibile eseguire il debug di un processo con il lancio del metodo " AttachDebugger " o terminare un processo e tutti i thread utilizzando il metodo "Termina " . Utilizzare la proprietà " Caption " per ottenere una breve descrizione di un processo o la " CreationDate " per ottenere la data del processo è iniziato l'esecuzione .
VBScript uccidere Excel Esempio
il seguente è un semplice esempio in VBScript per uccidere tutte le istanze attive di Excel.exe utilizzando l'API WMI :
SET WMIServicesObject = GETOBJECT ( " winmgmts : " _ & " { impersonationLevel = impersonate } ! \\ \\ . \\ root \\ CIMV2 " ) SET qryProcesses = WMIServicesObject.ExecQuery _ ( " SELECT * FROM Win32_Process dove name = ' EXCEL.exe ' " ) xCntr = 0FOR OGNI xlProcess in qryProcesses xlProcess.Terminate ( ) xCntr = xCntr + 1NEXTwscript.echo " Ucciso " & xCntr & " processi di EXCEL.exe "
Programmazione © www.354353.com