vbs实现的tasklist效果代码 |
|
本文标签:tasklist This short script uses WMI to display the same information than in the tool "tasklist", but dumping the result on the console. It can dump remote tasks running on another computer, 核心代码
Option explicit
If right(Ucase(WScript.FullName),11)="WSCRIPT.EXE" Then
wscript.echo "You should run this script from the command line (cmd)" & vbCrLf & "cscript " & wscript.ScriptFullName
WScript.Quit
End If
dim strComputer,objWMIService,colProcesses,objProcess,ProcessTime,strCreationDate,user,Domain,strOwner,h,m,s,chaine
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "
ootcimv2")
Set colProcesses = objWMIService.ExecQuery ("Select * from Win32_Process") ' where Name='IEXPLORE.EXE'
Chaine="Process |Creation Date Time |Handles|Threads|Owner |Priority|MemoryUsage|MaxMemUsage|MemRequired|MaxMemRequi| Swap| Max Swap|CPU time|PID |PFaults|Path" & vbCrLf
For Each objProcess in colProcesses
If objProcess.GetOwner ( User, Domain ) = 0 Then
strOwner= Domain & "" & User
Else
strOwner="Unknown"
End If
ProcessTime=(CSng(objProcess.KernelModeTime) + CSng(objProcess.UserModeTime)) / 10000000
h=right("0" & fix(ProcessTime/60/60),2)
ProcessTime=ProcessTime-h*60*60
m=right("0" & fix(ProcessTime/60),2)
s=Right("0" & round(ProcessTime-m*60),2)
strCreationDate=Mid(objProcess.CreationDate,7,2) & "/" & Mid(objProcess.CreationDate,5,2) & "/" & Left(objProcess.CreationDate,4) & " " & Mid(objProcess.CreationDate,9,2) & ":" & Mid(objProcess.CreationDate,11,2) & ":" & Mid(objProcess.CreationDate,13,2)
If strCreationDate="// ::" Then strCreationDate=Space(19)
Chaine=Chaine & Left(objProcess.Name & space(8),12) & "|" _
& strCreationDate & "|" & Right(Space(6) & objProcess.HandleCount,7) & "|" _
& Right(Space(6) & objProcess.ThreadCount,7) & "|" _
& Left(strOwner & space(14),19) & "|" _
& Left(objProcess.Priority & Space(7),8) & "|" _
& Right(Space(10) & objProcess.PageFileUsage ,11) & "|" _
& Right(Space(10) & objProcess.PeakPageFileUsage ,11) & "|" _
& Right(Space(8) & objProcess.WorkingSetSize ,11) & "|" _
& Right(Space(8) & objProcess.PeakWorkingSetSize ,11) & "|" _
& Right(Space(10) & objProcess.VirtualSize ,11) & "|" _
& Right(Space(10) & objProcess.PeakVirtualSize ,11) & "|" _
& h & ":" & m & ":" & s & "|" _
& Left(objProcess.ProcessID & space(3),4) & "|" _
& Right(Space(6) & objProcess.PageFaults ,7) & "|" & objProcess.ExecutablePath
Chaine=Chaine & vbCrLf
Next
wscript.echo chaine
代码运行方法,将上面的代码为tasklist.vbs 在cmd下 cscript tasklist.vbs 即可,也可以在cmd下 cscript tasklist.vbs >list.txt直接将结果保存为list.txt查看也比较容易 好了,代码到此结束 |