wmic.exe

wmic.exe是WMI 命令行。作為 Windows XP 的一部分發布的 WMI 命令行工具 (wmic.exe) 提供一個到 WMI 基礎結構的命令行接口。可以使用 wmic.exe 執行來自命令行的常見 WMI 任務,包括瀏覽 CIM 和檢查 CIM 類定義。有關使用 WMI 命令行工具的信息,參閱 Windows XP 幫助和支持中心內的“使用 WMI 命令行 (WMIC) 工具”

定義

WMIC是擴展WMI(Windows Management Instrumentation,Windows管理規範),提供了從命令行接口和批命令腳本執行系統管理的支持。在WMIC出現之前,如果要管理WMI系統,必須使用一些專門的WMI套用,比如SMS,或者使用WMI的腳本編程API,或者使用象CIM Studio之類的工具。如果不熟悉C++之類的程式語言或VBScript之類的腳本語言,或者不掌握WMI名稱空間的基本知識,要使用WMI管理系統是很困難的。WMIC改變了這種情況,為WMI名稱空間提供了一個強大的、友好的命令行接口。

本文將主要介紹我在使用過程中的一些經驗,本著實用主義的原則,過多的概念性的東西我就不多介紹了,在用到的時候我再進行一些解釋。

和上面的官方定義比起來,還有一個更好理解的解釋:WMIC,是一款命令行管理工具。使用WMIC,我們不但可以管理本地計算機,而且還可以管理同一Windows域內的所有遠程計算機(需要必要的許可權),而被管理的遠程計算機不必事先安裝WMIC,只需要支持WMI即可。WMIC有一個能夠分析、解釋和執行從命令行接收的別名(Alias)的引擎,它是一個執行檔,名為WMIC.exe,這個檔案通常位於“c:\windows\system32\wbem”資料夾中(支持WinXP和Win2003系統)。這樣就比較好理解了吧,可以使用WMI管理遠程計算機,是不是非常有吸引力呀!

功能

可以使用WMIC實現如下的管理任務:

1、本地計算機管理

2、遠程單個計算機管理

3、遠程多個計算機管理

4、使用遠程會話的計算機管理(如Telnet)

5、使用管理腳本的自動管理

使用實例

1、運行WMIC

打開“開始”-“運行”欄,輸入“WMIC”就可以啟動wmic了,如圖1。第一次運行時,會顯示WMIC正在安裝,請稍等。幾秒鐘後就會出現如圖2所示的命令提示符了。

2、初試WMIC下的命令

在視窗下輸入●process●執行看看,結果如圖3所示,列出了正在運行的進程和調用進程的路徑。當然了,我們也可以輸入●process list brief●來查看更詳細的信息,比如進程名稱、ID、優先權等。更重要的是,對於現在有些可以在任務管理器里隱藏進程的木馬,要想在wmic里隱藏,可就沒那么容易了,它會成為你查殺木馬的好幫手。

現在只是知道了路徑,如果懷疑某一進程,想查看它的詳細信息又該怎么辦呢?那輸入●process name=‘jqs.exe’list full●就可以了,jqs是我安裝java後新增加的一個進程,大家在測試時也可以選用別的,如圖4。我們還可以使用以下命令來進程:●process where name=’jqs.exe’delete●,回車後就會提示我們是否刪除,如圖5。這裡將delete換成“call terminate”也可以達到同樣的效果。

在wmic下如何查看BIOS信息呢?我們輸入●bios list full●,是使用的命令吧,不用重啟電腦就可以知道你現在使用的電腦的BIOS信息了,如圖6。

除此之外,wmic還有停止、暫停和運行服務的功能:啟動服務startservice,停止服務stopservice,暫停服務pauseservice。具體的命令使用格式就是:

●Service where caption=”windows time” call stopservice●--停止服務

●Service where caption=”windows time” call startservice●--啟動服務

●Service where name=”w32time” call stopservice●--停止服務,注意name和caption的區別。

●wmic process call create shutdown.exe●--關閉本地計算機。

想要知道更多的命令,直接在命令行下輸入“/?”,就可以獲得詳細的幫助信息了,如圖7。

很多人製作的批處理或者腳本功能都是調用wmi實現的,它所具有的查看功能非常強大,尤其是安裝了WMIC的電腦可以連線到任何一台安裝了WMI的電腦,被連線的電腦不需要安裝WMIC。比如我們要查看區域網路內所有計算機的進程,監視對方計算機進程等,至於其他更多的功能就請讀者自己去挖掘吧

C:\Documents and Settings\Lihongtao>wmic /?

[global switches] <command>

有效的全局開關有:

/NAMESPACE 別名使用的名稱空間路徑。

/ROLE 包含此別名定義的角色路徑。

/NODE 別名使用的伺服器。

/IMPLEVEL 客戶模擬級別。

/AUTHLEVEL 客戶身份驗證級別。

/LOCALE 客戶套用的語言識別符。

/PRIVILEGES 啟用或禁用所有特權。

/TRACE 將調試信息輸出到 stderr。

/RECORD 將所有輸入命令和輸出寫入日誌。

/INTERACTIVE 設定或重設互動模式。

/FAILFAST 設定或重置 FailFast 模式。

/USER 會話期間使用的用戶。

/PASSWORD 用於會話登錄的密碼。

/OUTPUT 為輸出重新定向指定模式。

/APPEND 為輸出重新定向指定模式。

/AGGREGATE 設定或重置集合模式。

/AUTHORITY Specifies the <authority type> for the connection.

/?[:<BRIEF|FULL>] 用法信息。

有關具體全局開關的信息,請輸入: switch-name /?

當前角色有下列別名。:

ALIAS - 訪問本地機器上的別名

BASEBOARD - 基板 (也叫母板或系統板) 管理。

BIOS - 基本輸入/輸出服務 (BIOS) 管理。

BOOTCONFIG - 啟動配置管理。

CDROM - CD-ROM 管理。

COMPUTERSYSTEM - 計算機系統管理。

CPU - CPU 管理。

CSPRODUCT - SMBIOS 的計算機系統產品信息。

DATAFILE - DataFile 管理。

DCOMAPP - DCOM 程式管理。

DESKTOP - 用戶桌面管理。

DESKTOPMONITOR - 監視器管理。

DEVICEMEMORYADDRESS - 設備記憶體地址管理。

DISKDRIVE - 物理磁碟驅動器管理。

DISKQUOTA - NTFS 卷磁碟空間使用情況。

DMACHANNEL - 直接記憶體訪問(DMA)頻道管理。

ENVIRONMENT - 系統環境設定管理。

FSDIR - 檔案目錄系統項目管理。

GROUP - 組帳戶管理。

IDECONTROLLER - IDE 控制器管理。

IRQ - 間隔請求線 (IRQ) 管理。

JOB - 提供對使用計畫服務安排的工作的訪問。

LOADORDER - 定義執行依存的系統服務管理。

LOGICALDISK - 本地儲存設備管理。

LOGON - 登錄會話。

MEMCACHE - 快取記憶體管理。

MEMLOGICAL - 系統記憶體管理 (配置布局和記憶體可用性)。

MEMPHYSICAL - 計算機系統物理記憶體管理。

NETCLIENT - 網路客戶端管理。

NETLOGIN - (某一用戶的)網路登錄信息管理。

NETPROTOCOL - 協定 (和其網路特點) 管理。

NETUSE - 活動網路連線管理。

NIC - 網路界面控制器 (NIC) 管理。

NICCONFIG - 網路適配器管理。

NTDOMAIN - NT 域管理。

NTEVENT - NT 事件日誌的項目

NTEVENTLOG - NT 時間日誌檔案管理。

ONBOARDDEVICE - 母板(系統板)內置普通設適配器設備的管理。

OS - 已安裝的作業系統管理。

PAGEFILE - 虛擬記憶體檔案對調管理。

PAGEFILESET - 頁面檔案設定管理。

PARTITION - 物理磁碟分區區域的管理。

PORT - I/O 連線埠管理。

PORTCONNECTOR - 物理連線連線埠管理。

PRINTER - 印表機設備管理。

PRINTERCONFIG - 印表機設備配置管理。

PRINTJOB - 列印工作管理。

PROCESS - 進程管理。

PRODUCT - 安裝包任務管理。

QFE - 快速故障排除。

QUOTASETTING - 設定卷的磁碟配額信息。

RECOVEROS - 當作業系統失敗時,將從記憶體收集的信息。

REGISTRY - 計算機系統註冊表管理。

SCSICONTROLLER - SCSI 控制器管理。

SERVER - 伺服器信息管理。

SERVICE - 服務程式管理。

SHARE - 共享資源管理。

SOFTWAREELEMENT - 安裝在系統上的軟體產品元素的管理。

SOFTWAREFEATURE - SoftwareElement 的軟體產品組件的管理。

SOUNDDEV - 聲音設備管理。

STARTUP - 用戶登錄到計算機系統時自動運行命令的管理。

SYSACCOUNT - 系統帳戶管理。

SYSDRIVER - 基本服務的系統驅動程式管理。

SYSTEMENCLOSURE - 物理系統封閉管理。

SYSTEMSLOT - 包括連線埠、插口、附屬檔案和主要連線點的物理連線點管理。

TAPEDRIVE - 磁帶驅動器管理。

TEMPERATURE - 溫度感應器的數據管理 (電子溫度表)。

TIMEZONE - 時間區域數據管理。

UPS - 不可中斷的電源供應 (UPS) 管理。

USERACCOUNT - 用戶帳戶管理。

VOLTAGE - 電壓感應器 (電子電量計) 數據管理。

VOLUMEQUOTASETTING - 將某一磁碟卷與磁碟配額設定關聯。

WMISET - WMI 服務操作參數管理。

有關具體別名的信息,請輸入: alias /?

CLASS - 按 ESC 鍵回到完整的 WMI 架構。

PATH - 按 ESC 鍵回到完整的 WMI 對象路徑。

CONTEXT - 顯示所有全局開關的狀態。

QUIT/EXIT - 退出此程式。

有關 CLASS/PATH/CONTEXT 更多的信息,輸入: (CLASS | PATH | CONTEXT) /?

C:\Documents and Settings\Lihongtao>

WMIC 實例教程2008-10-27 17:29wmic 獲取進程名稱以及可執行路徑:

wmic process get name,executablepath

wmic 刪除指定進程(根據進程名稱):

wmic process where name="qq.exe" call terminate

或者用

wmic process where name="qq.exe" delete

wmic 刪除指定進程(根據進程PID):

wmic process where pid="123" delete

wmic 創建新進程

wmic process call create "C:\Program Files\Tencent\QQ\QQ.exe"

在遠程機器上創建新進程:

wmic /node:192.168.1.10 /user:administrator /password:123456 process call create cmd.exe

關閉本地計算機

wmic process call create shutdown.exe

重啟遠程計算機

wmic /node:192.168.1.10/user:administrator /password:123456 process call create "shutdown.exe -r -f -m"

更改計算機名稱

wmic computersystem where "caption="%ComputerName%"" call rename newcomputername

更改帳戶名

wmic USERACCOUNT where "name="%UserName%"" call rename newUserName

wmic 結束可疑進程(根據進程的啟動路徑)

wmic process where "name="explorer.exe" and executablepath<>'%SystemDrive%\\windows\\explorer.exe'" delete

wmic 獲取物理記憶體

wmic memlogical get TotalPhysicalMemory|find /i /v "t"

wmic 獲取檔案的創建、訪問、修改時間

@echo off

for /f "skip=1 tokens=1,3,5 delims=. " %%a in ('wmic datafile where name^="c:\\windows\\system32\\notepad.exe" get CreationDate^,LastAccessed^,LastModified') do (

set a=%%a

set b=%%b

set c=%%c

echo 檔案: c:\windows\system32\notepad.exe

echo.

echo 創建時間: %a:~0,4% 年 %a:~4,2% 月 %a:~6,2% 日 %a:~8,2% 時 %a:~10,2% 分 %a:~12,2% 秒

echo 最後訪問: %b:~0,4% 年 %b:~4,2% 月 %b:~6,2% 日 %b:~8,2% 時 %b:~10,2% 分 %b:~12,2% 秒

echo 最後修改: %c:~0,4% 年 %c:~4,2% 月 %c:~6,2% 日 %c:~8,2% 時 %c:~10,2% 分 %c:~12,2% 秒

)

echo.

pause

wmic 全盤搜尋某檔案並獲取該檔案所在目錄

for /f "skip=1 tokens=1*" %i in ('wmic datafile where "FileName="qq" and extension="exe"" get drive^,path') do (set "qPath=%i%j"&@echo %qPath:~0,-3%)

獲取螢幕解析度 wmic DESKTOPMONITOR where Status="ok" get ScreenHeight,ScreenWidth

wmic PageFileSet set InitialSize="512",MaximumSize="512"

設定虛擬記憶體到E盤,並刪除C糟下的頁面檔案,重啟計算機後生效

wmic PageFileSet create name="E:\\pagefile.sys",InitialSize="1024",MaximumSize="1024"

wmic PageFileSet where "name="C:\\pagefile.sys"" delete

獲得進程當前占用的記憶體和最大占用記憶體的大小:

wmic process where caption="filename.exe" get WorkingSetSize,PeakWorkingSetSize

以KB為單位顯示

@echo off

for /f "skip=1 tokens=1-2 delims= " %%a in ('wmic process where caption^="conime.exe" get WorkingSetSize^,PeakWorkingSetSize') do (

set /a m=%%a/1024

set /a mm=%%b/1024

echo 進程conime.exe現在占用記憶體:%m%K;最高占用記憶體:%mm%K

)

pause

遠程打開計算機遠程桌面

wmic /node:%pcname% /USER:%pcaccount% PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1

相關詞條

熱門詞條

聯絡我們