vbs 구현 tasklist 효과 코드
3926 단어 tasklist
이 짧 은 스 크 립 트 는 wmi 를 사용 하여 도구'tasklist'와 같은 정 보 를 표시 하지만 명령 행 에서 만 결 과 를 출력 합 니 다.그것 도 다른 컴퓨터 에서 원 격 작업 을 볼 수 있다.
파일 이름:tasklist.vbs
요청:없 음
저자:장 루 크 앙 투 안
제출 일자: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 로 직접 저장 하여 보기 도 쉽 습 니 다.
자,코드 는 여기 서 마 치 겠 습 니 다.