vbs实现的tasklist效果代码

所属分类: 脚本专栏 / vbs 阅读数: 1435
收藏 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(Self modifying script)

通过脚本修改脚本的内容,这里以统计脚本运行次数为例,想学习vbs的朋友可以参考下
收藏 0 赞 0 分享

VBScript之通过对比注册表查找隐藏的服务

系统服务有可能被 rootkit 隐藏,但有些时候我们仍可以从注册表中找到相关的信息。建议以管理员权限运行,否则有些服务列举不出来或出现错误的提示
收藏 0 赞 0 分享

VBScript 监控并结束指定进程的代码

有时候我们需要监控一些进程,防止一些进程的开启,发现指定进程运行就关闭它,那么就可以参考下面的代码
收藏 0 赞 0 分享

VBScript 输出中的对齐实现方法

有时候我们需要在vbs中输入的字符实现对齐效果,那么就可以参考下面的代码了
收藏 0 赞 0 分享

vbs 获取当前目录的实现代码

获取当前正执行的VBS的路径,通过Scripting.FileSystemObject组件实现
收藏 0 赞 0 分享

vbs 获取当前目录文件数量的代码(不包括子文件夹中的)

有时候我们需要获取当前目录下有多少个文件,那么就可以参考下面的代码
收藏 0 赞 0 分享

VBS获取当前目录下所有文件夹名字的代码

有时候我们需要获取当前目录下所有文件夹的名字,那么就可以参考下面的代码了
收藏 0 赞 0 分享

VBS读取注册表的两种方法

有时候我们需要用vbs来操作注册表,一般情况下有两种方法,一种是通过wshshell对象的regread,另外一种是使用WMI操作注册表,下面简单的介绍下
收藏 0 赞 0 分享

查看系统C盘剩余空间的VBS脚本

查看系统C盘剩下的空间方法有很多,在本文要为大家介绍的是通过VBS脚本是如何实现的,感兴趣的朋友不要错过
收藏 0 赞 0 分享
查看更多