Kørende processer , der ikke bliver brugt, kan i sidste ende medføre problemer med hukommelsen i et system. Et almindeligt problem , når man arbejder med eksterne programmer ikke er i stand til at dræbe en proces fuldstændigt . En proces er dybest set et program, der kører i øjeblikket. Du kan se kørende processer ved hjælp af Windows Task Manager vha. fanen Processer . Du kan afslutte en proces manuelt, men i tilfælde, hvor du har mange processer kørende , er en bedre løsning slutter dem programmering bruger VBScript. WMI service
For at dræbe en proces , skal du ringe til WMI ( Winmgmt ) tjeneste til at indhente oplysninger , såsom navnet på en proces, der kører i øjeblikket . Denne tjeneste kører under LocalSystem konto og kan kaldes ved hjælp af VBScript ved at åbne WMI Scripting API til WMI . Ud over at dræbe processer , kan du også udføre andre handlinger såsom at oprette processer ved hjælp af denne tjeneste.
WMI Security Settings
For at meddele WMI service, skal du angive den sikkerhed komponent. Der findes forskellige typer af efterligning niveauer såsom anonym , identificere udgive , og uddelegere . Ifølge Microsoft de anonyme " skjuler prøvelse af den, der ringer ", og indkredse " gør det muligt for objekter at forespørge prøvelse for den, der ringer . " Det mest almindeligt anvendte er udgive niveau , som ifølge Microsoft, "gør det muligt objekter til at bruge prøvelse af den, der ringer . " Endelig er den delegerede niveau ifølge Microsoft er det " gør det muligt objekter til at tillade andre ting at bruge prøvelse for den, der ringer . "
Win32_Process Class
< br >
Wind32_Process WMI klassen svarer til en proces, der kører i dit system. Denne klasse har metoder og egenskaber , som du kan ringe for at få oplysninger om en proces. Du kan debug en proces ved at lancere " AttachDebugger "-metoden eller opsige en proces og alle dens tråde ved at bruge " Afslut "-metoden. Brug " Caption " ejendom for at få en kort beskrivelse af en proces eller " CREATIONDATE " for at få den dato processen begyndte udførelse .
VBScript Kill Excel Eksempel
det følgende er et simpelt eksempel i VBScript til at dræbe alle aktive forekomster af Excel.exe bruger WMI API : Hej
SET WMIServicesObject = GetObject ( " winmgmts : " _ & " { impersonationLevel = udgive } ! \\ \\ . \\ root \\ cimv2 " ) SET qryProcesses = WMIServicesObject.ExecQuery _ ( " Select * fra Win32_Process hvor navn = ' EXCEL.exe ' " ) xCntr = 0FOR HVER xlProcess i qryProcesses xlProcess.Terminate () xCntr = xCntr + 1NEXTwscript.echo " Killed " & xCntr & " processer EXCEL.exe "