1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| Function getSystemVar(VarName)
Dim wss, env
Set wss = CreateObject("WScript.Shell")
Set env = wss.environment("process")
getSystemVar = env(VarName)
End Function
'On recupere une partie dela chaine de caractere
resultat1 = Mid(getSystemVar("UNISON_SCHED"),2,3)
resultat2 = Mid(getSystemVar("UNISON_SCHED"),7,3)
resultat3 = Mid(getSystemVar("UNISON_SCHED"),5,3)
resultat4 = Mid(getSystemVar("UNISON_JOB"),14,43)
resultat5 = Mid(getSystemVar("USERNAME"),13.6)
Dim NOM_PROCESS
Dim args
Set args = WScript.Arguments
NOM_PROCESS= args(0)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & NOM_PROCESS & "'")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Ftxt = FSO.OpenTextFile ("D:\production\home\tws\log\SYS_LOG_systeme.log",8,true)
Ftxt.close
If ColProcessList.count <> 0 Then
For Each objProcess in colProcessList
message = "Le process" & vbTab & (NOM_PROCESS) & vbTab & "a été killé"
Dim retour
Dim strComputer
Dim objWMIService
Dim colItems
Dim FSO
Dim Ftxt
Dim path
path = "D:\production\home\tws\log\SYS_LOG_systeme.log"
retour = 0
strComputer = "."
Set Ftxt = FSO.OpenTextFile (path,8,true)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = '" & NOM_PROCESS & "'",,48)
retour = objProcess.Terminate()
Ftxt.writeline (Year(date)) & vbTab & (Month(date)) & vbTab & (Day(date)) & vbTab & (time) & vbTab & (getSystemVar("COMPUTERNAME")) & vbTab & resultat1 & vbTab & resultat2 & vbTab & (PID) & vbTab & (terminal) & vbTab & resultat5 & vbTab & resultat4 & vbTab & return & vbTab & (gravite) & vbTab & resultat3 & vbTab &(getSystemVar("UNISON_JOBNUM")) & vbTab & (valeur) & vbTab & (message)
Ftxt.Close
Next
Else
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Ftxt = FSO.OpenTextFile ("D:\production\home\tws\log\SYS_LOG_systeme.log",8,true)
Ftxt.writeline "le process n'existe pas"
Ftxt.close()
WScript.Quit(1)
end if |
Partager