vbs实现的tasklist效果代码

所属分类: 脚本专栏 / vbs 阅读数: 1340
收藏 0 赞 0 分享

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,chaine
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 
    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查看也比较容易

好了,代码到此结束

更多精彩内容其他人还在看

运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)

今天在写一个vbs的时候,发现中文乱码,后来写好代码正常运行的代码压缩一下给了同事,发现报无效字符,经过验证后发现原来是编码的问题导致,这里就为大家分享一下
收藏 0 赞 0 分享

VBS打开当前脚本所在文件夹

有时候我们需要获取当前vbs脚本所在的文件夹,或者运行当前脚本文件夹中的文件那么就需要参考下面的代码了
收藏 0 赞 0 分享

vbs 读写注册表之系统启动项添加与删除

这篇文章主要介绍了vbs 读写注册表之系统启动项添加值,需要的朋友可以参考下
收藏 0 赞 0 分享

拖拽文件显示文件路径的vbs代码

这篇文章主要介绍了拖拽文件显示文件路径的vbs代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS遍历Excel工作表的实现代码

这篇文章主要介绍了VBS遍历Excel工作表的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

使用VBS浏览本地文件的3种方式,获取完整路径

这篇文章主要介绍了使用VBS浏览本地文件的3种方式,获取完整路径,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS进程判断代码

这篇文章主要介绍了VBS进程判断代码,用来检测windows的某个进程是否正常运行,之前脚本之家分享过bat中判断进程的代码
收藏 0 赞 0 分享

VBS遍历文件或文件夹路径输入文件的所有绝对路径(附源码)

这篇文章主要介绍了VBS遍历文件或文件夹路径输入文件的所有绝对路径的代码,需要的朋友可以参考下
收藏 0 赞 0 分享

ActiveX部件不能创建对象:dm.dmsoft代码:800A01AD

vbs调用插件报:ActiveX部件不能创建对象,代码:800A01AD,一般是因为病毒导致dll文件丢失或者64系统问题导致,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs ping实现的两种方式

这篇文章主要介绍了vbs ping实现的两种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多