vbs实现的tasklist效果代码
ThisshortscriptusesWMItodisplaythesameinformationthaninthetool"tasklist",butdumpingtheresultontheconsole.Itcandumpremotetasksrunningonanothercomputer,
这个简短的脚本使用wmi显示与工具“tasklist”中相同的信息,但只有在命令行下输出结果。它也可以在另一台计算机上查看远程任务,
文件名:tasklist.vbs
要求:无
作者:Jean-LucAntoine
提交日期:2005年7月14日
类别:4K
核心代码
Optionexplicit
Ifright(Ucase(WScript.FullName),11)="WSCRIPT.EXE"Then
wscript.echo"Youshouldrunthisscriptfromthecommandline(cmd)"&vbCrLf&"cscript"&wscript.ScriptFullName
WScript.Quit
EndIf
dimstrComputer,objWMIService,colProcesses,objProcess,ProcessTime,strCreationDate,user,Domain,strOwner,h,m,s,chaine
strComputer="."
SetobjWMIService=GetObject("winmgmts:"&"{impersonationLevel=impersonate}!\\"&strComputer&"\root\cimv2")
SetcolProcesses=objWMIService.ExecQuery("Select*fromWin32_Process")'whereName='IEXPLORE.EXE'
Chaine="Process|CreationDateTime|Handles|Threads|Owner|Priority|MemoryUsage|MaxMemUsage|MemRequired|MaxMemRequi|Swap|MaxSwap|CPUtime|PID|PFaults|Path"&vbCrLf
ForEachobjProcessincolProcesses
IfobjProcess.GetOwner(User,Domain)=0Then
strOwner=Domain&"\"&User
Else
strOwner="Unknown"
EndIf
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)
IfstrCreationDate="//::"ThenstrCreationDate=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.echochaine
代码运行方法,将上面的代码为tasklist.vbs
在cmd下cscripttasklist.vbs即可,也可以在cmd下cscripttasklist.vbs>list.txt直接将结果保存为list.txt查看也比较容易
好了,代码到此结束