服务器之家

服务器之家 > 正文

vbs实现的tasklist效果代码

时间:2020-08-19 10:44     来源/作者:Jean-Luc Antoine

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

核心代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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查看也比较容易

好了,代码到此结束

原文链接:http://www.interclasse.com/scripts/tasklist.php

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
最新idea2020注册码永久激活(激活到2100年)
最新idea2020注册码永久激活(激活到2100年) 2020-07-29
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
返回顶部