vbs 구현 tasklist 효과 코드

3926 단어 tasklist
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
요청:없 음
저자:장 루 크 앙 투 안
제출 일자: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 로 직접 저장 하여 보기 도 쉽 습 니 다.
자,코드 는 여기 서 마 치 겠 습 니 다.

좋은 웹페이지 즐겨찾기