strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colServices = objWMIService.ExecQuery _
("Select * From Win32_Service Where Name = 'Spooler'")
For Each objService in colServices
intProcessID = objService.ProcessID
Set colProcesses = objWMIService.ExecQuery _
("Select * From Win32_Process Where ProcessID = " & intProcessID)
For Each objProcess in colProcesses
dtmStartTime = objProcess.CreationDate
dtmConvertedDate = CDate(Mid(dtmStartTime, 5, 2) & "/" & _
Mid(dtmStartTime, 7, 2) & "/" & Left(dtmStartTime, 4) _
& " " & Mid (dtmStartTime, 9, 2) & ":" & _
Mid(dtmStartTime, 11, 2) & ":" & Mid(dtmStartTime,13, 2))
Wscript.Echo DateDiff("n", dtmConvertedDate, Now)
Next
Next
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colServices = objWMIService.ExecQuery _
("Select * From Win32_Service Where Name = 'Spooler'")
For Each objService in colServices
intProcessID = objService.ProcessID
Set colProcesses = objWMIService.ExecQuery _
("Select * From Win32_Process Where ProcessID = " & intProcessID)
For Each objProcess in colProcesses
dtmStartTime = objProcess.CreationDate
dtmConvertedDate = CDate(Mid(dtmStartTime, 5, 2) & "/" & _
Mid(dtmStartTime, 7, 2) & "/" & Left(dtmStartTime, 4) _
& " " & Mid (dtmStartTime, 9, 2) & ":" & _
Mid(dtmStartTime, 11, 2) & ":" & Mid(dtmStartTime,13, 2))
Wscript.Echo DateDiff("n", dtmConvertedDate, Now)
Next
Next
위 스크립트의 경우, 스풀러 프로세스에 대한 것이지만, 해당 컴퓨터의 모든 프로세스에 대한 것을 확인할려면 WHERE 절을 없애면 됩니다.
또한,. 위 스크립트의 경우 프로세스의 생성시간만 출력하나 추가적인 컬럼을 출력 하도록 수정도 하여 필요하게 쓸수 있습니다.
WMI-실행중인 프로세스 리스트 출력
http://www.serverinfo.pe.kr/TipnTech.aspx?Seq=146
03-Microsoft_TechNet.gif
댓글 없음:
댓글 쓰기