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-ID: 307511

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

Ausgedruckt am: 25.11.2024 um 06:11 Uhr

129813
129813 18.06.2016, aktualisiert am 19.06.2016 um 15:51:50 Uhr
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
Knuefi
Knuefi 19.06.2016 um 15:42:47 Uhr
Goto Top
Leider ohne Erfolg, das Script wird nicht beendet
129813
129813 19.06.2016 um 15:45:37 Uhr
Goto Top
Here it works flawlessly! You musst be doing something wrong.
Knuefi
Knuefi 19.06.2016 um 16:05:22 Uhr
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
129813
Lösung 129813 19.06.2016 aktualisiert um 18:15:53 Uhr
Goto Top
WHERE Commandline like '%ÄZEMitteilungversenden.vbs%'
That's no surprise my dear... face-wink
Knuefi
Knuefi 19.06.2016 um 19:24:19 Uhr
Goto Top
face-smile
so it is better AEZE

thank