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,
这个简短的脚本使用wmi显示与工具“tasklist”中相同的信息,但只有在命令行下输出结果。它也可以在另一台计算机上查看远程任务, 文件名:tasklist.vbs 要求:无 作者:Jean-Luc Antoine 提交日期:2005年7月14日 类别:4K核心代码
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编程客栈,chain编程客栈e strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 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 www.devze.com Else strOwner="Unknown" End If 开发者_JAV培训 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) strCreationwww.devze.comDate=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) & TQzljd"|" & objProcess.ExecutablePath Chaine=Chaine & vbCrLf Next wscript.echo chaine
代码运行方法,将上面的代码为tasklist.vbs
在cmd下 cscript tasklist.vbs 即可,也可以在cmd下 cscript tasklist.vbs >list.txt直接将结果保存为list.txt查看也比较容易
好了,代码到此结束
精彩评论