knuefi
Goto Top

Bestimmten wscript.exe Prozess beenden

Hallo und guten Tag zusammen,

ich benötige mal wieder eure Hilfe. Ich möchte ein bestimmten wscript.exe Prozess beenden. Ein Programm bekomme ich damit perfekt beendet, aber das Script bekomme ich damit nicht beendet. Da noch ein weiteres Script läuft und auch weiter laufen soll, kann ich leider nicht Mitteilungversenden.vbs nicht gegen wscript.exe ersetzten. Hat jemand eine Idee?
Gruß
knuefi

Do Set objEvent = colEvents.NextEvent()
Set objTargetInst = objEvent.TargetInstance
Select Case objEvent.Path_.Class 
Case "__InstanceCreationEvent"  
objShell.Run "cmd /c ""D:\NONBKU_RIP\09_Script\04_ScriptStartVersendenÄZE\Mitteilungversenden.vbs""",0,True  
Case "__InstanceDeletionEvent"  
if fso.GetFolder(strPath).Files.Count = 0 then
Set ProcessList = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'Mitteilungversenden.vbs'")  
For Each objProcess In ProcessList
objProcess.Terminate
Next
If ProcessList.Count > 0 Then
Msgbox "Ordner leer, Script wird beendet."  
End If
End if
End Select
loop

Content-Key: 307511

Url: https://administrator.de/contentid/307511

Printed on: April 26, 2024 at 04:04 o'clock

Mitglied: 129813
129813 Jun 18, 2016, updated at Jun 19, 2016 at 13:51:50 (UTC)
Goto Top
Hi.
You could use the commandline -property for comparison to find the process you would like to terminate
'...  
Set ProcessList = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_Process WHERE Commandline like '%Mitteilungversenden.vbs%'")  
'...  
Regards
Member: Knuefi
Knuefi Jun 19, 2016 at 13:42:47 (UTC)
Goto Top
Leider ohne Erfolg, das Script wird nicht beendet
Mitglied: 129813
129813 Jun 19, 2016 at 13:45:37 (UTC)
Goto Top
Here it works flawlessly! You musst be doing something wrong.
Member: Knuefi
Knuefi Jun 19, 2016 at 14:05:22 (UTC)
Goto Top
Hello,
it does not work , the script is not finished . Here the entire script

Const strPath = "D:\NONBKU_RIP\08_Briefkästen"  
Const intInterval = "20"  
strDrive = Split(strPath,"\")(0)  
strFolder = Replace(Split(strPath,":")(1),"\","\\") & "\\"  
Set fso = WScript.CreateObject("Scripting.Filesystemobject")  
Set objShell = CreateObject("Wscript.Shell")  
Set objWMIService = GetObject( "winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2" )  
strQuery = "Select * From __InstanceOperationEvent" _  
    & " Within " & intInterval _  
    & " Where Targetinstance Isa 'CIM_DataFile'" _  
    & " And TargetInstance.Drive='" & strDrive & "'"_  
    & " And TargetInstance.Path='" & strFolder & "'"  

Set colEvents = objWMIService.ExecNotificationQuery (strQuery) 
Do
Set objEvent = colEvents.NextEvent()
Set objTargetInst = objEvent.TargetInstance
Select Case objEvent.Path_.Class 
Case "__InstanceCreationEvent"  
objShell.Run "cmd /c ""D:\NONBKU_RIP\09_Script\04_ScriptStartVersendenÄZE\ÄZEMitteilungversenden.vbs""",0,True  
Case "__InstanceDeletionEvent"  
if fso.GetFolder(strPath).Files.Count = 0 then
Set ProcessList = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecQuery("SELECT * FROM Win32_Process WHERE Commandline like '%ÄZEMitteilungversenden.vbs%'")  
For Each objProcess In ProcessList
objProcess.Terminate
Next
If ProcessList.Count > 0 Then
Msgbox "Ordner leer, Script wird beendet."  
End If
End if
End Select
loop
Mitglied: 129813
Solution 129813 Jun 19, 2016 updated at 16:15:53 (UTC)
Goto Top
WHERE Commandline like '%ÄZEMitteilungversenden.vbs%'
That's no surprise my dear... face-wink
Member: Knuefi
Knuefi Jun 19, 2016 at 17:24:19 (UTC)
Goto Top
face-smile
so it is better AEZE

thank