Laufende Prozesse , die nicht genutzt werden kann letztlich Speicher Probleme in einem System . Ein häufiges Problem bei der Arbeit mit externen Programmen ist nicht in der Lage , einen Prozess vollständig zu töten . Ein Prozess ist im Grunde ein Programm, das derzeit läuft. Sie können laufende Prozesse mit dem Windows Task- Manager über die Registerkarte Prozesse. Sie können einen Prozess manuell beenden, aber in einem Fall , wo Du viele Prozesse laufen haben , eine bessere Option endet sie programmatisch mit VBScript . WMI-Dienst
Um einen Prozess zu beenden , müssen Sie den WMI ( Winmgmt ) Kundendienst anrufen , um Informationen wie den Namen eines Prozesses, der derzeit ausgeführt wird erhalten. Dieser Dienst wird unter dem Konto LocalSystem und kann als mit VBScript durch Zugriff auf das WMI Scripting API for WMI werden. Zusätzlich zu töten Prozesse , können Sie auch andere Aktionen wie das Erstellen von Prozessen mit diesem Service .
WMI Security Settings
Um zum WMI-Dienst zu kommunizieren, Sie brauchen, um die Sicherheit Komponente angeben . Es gibt verschiedene Arten von Identitätswechselebenen wie anonym , zu identifizieren impersonate und Delegaten. Laut Microsoft , die anonymen "versteckt die Anmeldeinformationen des Anrufers ", und das Identifizieren " ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers abzufragen. " Das am häufigsten verwendete ist die impersonate Niveau, das laut Microsoft " ermöglicht Objekte zu verwenden die Anmeldeinformationen des Anrufers. " Schließlich ist der Delegierte Ebene nach Microsoft it" ermöglicht Objekte zu ermöglichen, anderen Objekten, die Anmeldeinformationen des Aufrufers zu verwenden . "
Win32_Process Klasse
Die
Wind32_Process WMI-Klasse entspricht einem Prozess läuft in Ihrem System. Diese Klasse verfügt über Methoden und Eigenschaften, die Sie anrufen, um Informationen über einen Prozess erhalten kann . Sie können einen Prozess durch die Einführung der " AttachDebugger "-Methode zu debuggen oder zu beenden, einen Prozess und alle seine Themen mit der " Beenden "-Methode. Verwenden Sie die Eigenschaft "Caption" , um eine kurze Beschreibung eines Prozesses oder die " CreationDate " , um das Datum der Prozess begann Ausführung erhalten zu erhalten.
VBScript Kills in Excel Beispiel
das folgende ist ein einfaches Beispiel in VBScript , um alle aktiven Instanzen Excel.exe mit dem WMI API töten :
SET WMIServicesObject = GetObject ( " winmgmts : " _ & " { impersonationLevel = impersonate } ! \\ \\. \\ root \\ cimv2 " ) SET qryProcesses = WMIServicesObject.ExecQuery _ (" Select * from Win32_Process WHERE name = ' EXCEL.exe ' " ) = xCntr 0für JEDER xlProcess in qryProcesses xlProcess.Terminate () = xCntr xCntr + 1NEXTwscript.echo " Getötet " & xCntr & " Prozesse der EXCEL.exe "