windows WMIC 命令

第一次執行WMIC命令時,Windows首先要安裝WMIC,而後顯示出WMIC的命令行提示符。在WMIC命令行提示符上,命令以交互的方式執行

執行「wmic」命令啓動WMIC命令行環境。這個命令能夠在XP或 .NET Server的標準命令行解釋器(cmd.exe)、Telnet會話或「運行」對話框中執行。這些啓動方法能夠在本地使用,也能夠經過.NET Server終端服務會話使用。

第一次執行WMIC命令時,Windows首先要安裝WMIC,而後顯示出WMIC的命令行提示符。在WMIC命令行提示符上,命令以交互的方式執行。

wimic的運行方式能夠有兩種法:

一、搞入wimic進入後輸入命令運行,鍵入wimic後出現wmic:root\cli>時你就能夠輸入命令了,如輸入process顯示全部的進程。不知道有什麼命令時能夠輸入用/?來顯示幫助。exit 是退出交互模式。具體幫助用法以下: 命令行幫助 命令 例子 說明 /? 或 -? 顯示全部全局開關和別名的語法 / /? /user /? 顯示指定全局開關的信息 /? class /? 顯示某個命令的信息 /? memcache /? 顯示某個別名的信息 /? temperature get /? 顯示別名與動詞組合的信息 /?:Full irq get /?:Full 顯示動詞的幫助信息 如:我要查看process命令的幫助,鍵入:process/?後顯示以下: wmic:root\cli>process /? PROCESS - 進程管理。 提示: BNF 的別名用法。 (<alias> [WMIObject] | <alias> [<path where>] | [<alias>] <path where>) [<verb clause>]. 用法: PROCESS ASSOC [<format specifier>] PROCESS CALL <method name> [<actual param list>] PROCESS CREATE <assign list> PROCESS DELETE PROCESS GET [<property list>] [<get switches>] PROCESS LIST [<list format>] [<list switches>] 二、用wimic 後面直接跟命令運行,如wmic process 就顯示了全部的進程了。這兩種運行方法就是:交互模式(Interactive mode)和非交互模式(Non-Interactive mode) 下面咱們能過一些實例來講明用法: ===================================================================== 顯示進程的詳細信息 輸入 process where name="maxthon.exe" list full 將顯示出mxathon.exe進程全部的信息以下: CommandLine="D:\mytools\Maxthon2\Maxthon.exe" CSName=CHINA-46B1E8590 Description=Maxthon.exe ExecutablePath=D:\mytools\Maxthon2\Maxthon.exe ExecutionState= Handle=684 HandleCount=2296 InstallDate= KernelModeTime=3495000000 MaximumWorkingSetSize=1413120 MinimumWorkingSetSize=204800 Name=Maxthon.exe OSName=Microsoft Windows XP Professional|C:\WINDOWS| OtherOperationCount=307814 OtherTransferCount=60877207 PageFaults=1367971 PageFileUsage=89849856 ParentProcessId=1924 PeakPageFileUsage=90091520 PeakVirtualSize=385802240 PeakWorkingSetSize=94031872 Priority=8 PrivatePageCount=89849856 ProcessId=684 QuotaNonPagedPoolUsage=43496 QuotaPagedPoolUsage=257628 QuotaPeakNonPagedPoolUsage=72836 QuotaPeakPagedPoolUsage=271372 ReadOperationCount=85656 ReadTransferCount=121015982 SessionId=0 Status= TerminationDate= ThreadCount=57 UserModeTime=1778750000 VirtualSize=353206272 WindowsVersion=5.1.2600 WorkingSetSize=93716480 WriteOperationCount=30940 WriteTransferCount=24169673 ****************************************************************************** 中止、暫停和運行服務功能 啓動服務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的區別。 caption 顯示服務名name服務名稱,如: telnet服務的顯示名稱是telnet 服務名稱是tlntsvr,還有Windows Time服務的名稱是w32time 顯示名稱是"Windows Time"要用引號引發來,主要是有一個空格。 好了具體看一下:輸入Service where caption="windows time" call startservice後有一個確認輸入y就能夠了,返回ReturnValue = 0;表示成功 wmic:root\cli>Service where caption="windows time" call startservice 執行 (\\CHINA-46B1E8590\ROOT\CIMV2:Win32_Service.Name="W32Time")->startservice() 方法執行成功。 輸出參數: instance of __PARAMETERS { ReturnValue = 0; }; wmic:root\cli> ================================================================================================ 顯示出BIOS信息 wmic bios list full 你們可能注意到了上面命令行中還有兩個參數list和full。list決定顯示的信息格式與範圍,它有Brief、Full、Instance、 Status、System、Writeable等多個參數,full只是它的一個參數,也是list的缺省參數,表示顯示全部的信息。其餘幾個參數顧名思義,如Brief表示只顯示摘要信息,Instance表示只顯示對象實例,Status表示顯示對象狀態,Writeable表示只顯示該對象的可寫入的屬性信息等。 ************************************************************************===================== 中止進程的操做 例如,執行下面的命令將關閉正在運行的QQ.exe: 例一、wmic process where name='QQ.exe' call terminate 命令運行結束後,WMIC命令行提示出以下結果: C:\>wmic process where name='QQ.exe' call terminate 執行 (\\CHINA-46B1E8590\ROOT\CIMV2:Win32_Process.Handle="728")->terminate() 方法執行成功。 輸出參數: instance of __PARAMETERS { ReturnValue = 0; }; 例二、wmic process where name="qq.exe" delete 命令運行結束後,WMIC命令行提示出以下結果: C:\>wmic process where name="qq.exe" delete 刪除範例 \\CHINA-46B1E8590\ROOT\CIMV2:Win32_Process.Handle="2820" 範例刪除成功。 ====================================================================== 列出全部的進程 wmic process ================================================================== 鏈接遠程電腦 ★★鏈接遠程的電腦,不過好象對要開一些相應的服務 wmic /node:"192.168.203.131" /password:"" /user:"administrator" BIOS - 基本輸入/輸出服務 (BIOS) 管理 ★★查看bios版本型號 wmic bios get Manufacturer,Name WMIC設置IP地址 ★★配置或更新IP地址: wmic nicconfig where index=0 call enablestatic("192.168.1.5"), ("255.255.255.0") ;index=0說明是配置網絡接口1。 配置網關(默認路由): wmic nicconfig where index=0 call setgateways("192.168.1.1"),(1) COMPUTERSYSTEM - 計算機系統管理 ★★查看系統啓動選項,boot的內容 wmic COMPUTERSYSTEM get SystemStartupOptions ★★查看工做組/域 wmic computersystem get domain ★★更改計算機名abc爲123 wmic computersystem where "name='abc'" call rename 123 ★★更改工做組google爲MyGroup wmic computersystem where "name='google'" call joindomainorworkgroup "","","MyGroup",1 CPU - CPU 管理 ★★查看cpu型號 wmic cpu get name DATAFILE - DataFile 管理 ★★查找e盤下test目錄(不包括子目錄)下的cc.cmd文件 wmic datafile where "drive='e:' and path='\\test\\' and FileName='cc' and Extension='cmd'" list ★★查找e盤下全部目錄和子目錄下的cc.cmd文件,且文件大小大於1K wmic datafile where "drive='e:' and FileName='cc' and Extension='cmd' and FileSize>'1000'" list ★★刪除e盤下文件大小大於10M的.cmd文件 wmic datafile where "drive='e:' and Extension='cmd' and FileSize>'10000000'" call delete ★★刪除e盤下test目錄(不包括子目錄)下的非.cmd文件 wmic datafile where "drive='e:' and Extension<>'cmd' and path='test'" call delete ★★複製e盤下test目錄(不包括子目錄)下的cc.cmd文件到e:\,並更名爲aa.bat wmic datafile where "drive='e:' and path='\\test\\' and FileName='cc' and Extension='cmd'" call copy "e:\aa.bat" ★★更名c:\hello.txt爲c:\test.txt wmic datafile "c:\\hello.txt" call rename c:\test.txt ★★查找h盤下目錄含有test,文件名含有perl,後綴爲txt的文件 wmic datafile where "drive='h:' and extension='txt' and path like '%\\test\\%' and filename like '%perl%'" get name DESKTOPMONITOR - 監視器管理 ★★獲取屏幕分辨率 wmic DESKTOPMONITOR where Status='ok' get ScreenHeight,ScreenWidth DISKDRIVE - 物理磁盤驅動器管理 ★★獲取物理磁盤型號大小等 wmic DISKDRIVE get Caption,size,InterfaceType ENVIRONMENT - 系統環境設置管理 ★★獲取temp環境變量 wmic ENVIRONMENT where "name='temp'" get UserName,VariableValue ★★更改path環境變量值,新增e:\tools wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;e:\tools" ★★新增系統環境變量home,值爲%HOMEDRIVE%%HOMEPATH% wmic ENVIRONMENT create name="home",username="<system>",VariableValue="%HOMEDRIVE%%HOMEPATH%" ★★刪除home環境變量 wmic ENVIRONMENT where "name='home'" delete FSDIR - 文件目錄系統項目管理 ★★查找e盤下名爲test的目錄 wmic FSDIR where "drive='e:' and filename='test'" list ★★刪除e:\test目錄下除過目錄abc的全部目錄 wmic FSDIR where "drive='e:' and path='\\test\\' and filename<>'abc'" call delete ★★刪除c:\good文件夾 wmic fsdir "c:\\good" call delete ★★重命名c:\good文件夾爲abb wmic fsdir "c:\\good" rename "c:\abb" LOGICALDISK - 本地儲存設備管理 ★★獲取硬盤系統格式、總大小、可用空間等 wmic LOGICALDISK get name,Description,filesystem,size,freespace NIC - 網絡界面控制器 (NIC) 管理 OS - 已安裝的操做系統管理 ★★設置系統時間 wmic os where(primary=1) call setdatetime 20070731144642.555555+480 PAGEFILESET - 頁面文件設置管理 ★★更改當前頁面文件初始大小和最大值 wmic PAGEFILESET set InitialSize="512",MaximumSize="512" ★★頁面文件設置到d:\下,執行下面兩條命令 wmic pagefileset create name='d:\pagefile.sys',initialsize=512,maximumsize=1024 wmic pagefileset where"name='c:\\pagefile.sys'" delete PROCESS - 進程管理 ★★列出進程的核心信息,相似任務管理器 wmic process list brief ★★結束svchost.exe進程,路徑爲非C:\WINDOWS\system32\svchost.exe的 wmic process where "name='svchost.exe' and ExecutablePath<>'C:\\WINDOWS\\system32\\svchost.exe'" call Terminate ★★新建notepad進程 wmic process call create notepad PRODUCT - 安裝包任務管理 ★★安裝包在C:\WINDOWS\Installer目錄下 ★★卸載.msi安裝包 wmic PRODUCT where "name='Microsoft .NET Framework 1.1' and Version='1.1.4322'" call Uninstall ★★修復.msi安裝包 wmic PRODUCT where "name='Microsoft .NET Framework 1.1' and Version='1.1.4322'" call Reinstall SERVICE - 服務程序管理 ★★運行spooler服務 wmic SERVICE where name="Spooler" call startservice ★★中止spooler服務 wmic SERVICE where name="Spooler" call stopservice ★★暫停spooler服務 wmic SERVICE where name="Spooler" call PauseService ★★更改spooler服務啓動類型[auto|Disabled|Manual] 釋[自動|禁用|手動] wmic SERVICE where name="Spooler" set StartMode="auto" ★★刪除服務 wmic SERVICE where name="test123" call delete SHARE - 共享資源管理 ★★刪除共享 wmic SHARE where name="e$" call delete ★★添加共享 WMIC SHARE CALL Create "","test","3","TestShareName","","c:\test",0 SOUNDDEV - 聲音設備管理 wmic SOUNDDEV list STARTUP - 用戶登陸到計算機系統時自動運行命令的管理 ★★查看msconfig中的啓動選項 wmic STARTUP list SYSDRIVER - 基本服務的系統驅動程序管理 wmic SYSDRIVER list USERACCOUNT - 用戶賬戶管理 ★★更改用戶administrator全名爲admin wmic USERACCOUNT where name="Administrator" set FullName="admin" ★★更改用戶名admin爲admin00 wmic useraccount where "name='admin" call Rename admin00 ================================================獲取補丁信息 ★★查看當前系統打了哪些補丁 /node:legacyhost qfe get hotfixid 查看CPU當前的速度 ★★cpu當前的速度 wmic cpu get CurrentClockSpeed 遠程計算機的遠程桌面鏈接 ★★WMIC命令開啓遠程計算機的遠程桌面鏈接 執行wmic /node:192.168.1.2 /USER:administrator PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1 具體格式: wmic /node:"[full machine name]" /USER:"[domain]\[username]" PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1 wmic 獲取進程名稱以及可執行路徑: 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.201.131 /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 =========================================================================== 批處理的api--WMIC學習體會 在這篇文章裏也許你看不到不少奇特有用的的實際例程,可是呢,授人以魚不如授人以漁,但願個人文章能讓你通俗易懂的瞭解一些wmic的基本知識,能夠有一個學習的興趣,讓本身繼續深研一下wmic。 在WINDOWS\Help目下,wmic.chm文檔是這樣解釋wmi的:Windows Management Instrumentation (WMI) 是「基於 Web 的企業管理倡議 (WBEM)」(這是一個旨在創建在企業網絡上訪問和共享管理信息的標準的工業倡議)的 Microsoft 的實現。有關 WBEM 的詳細信息,請訪問 WBEM。XOXWMI 爲公用信息模型 (CIM)(該數據模型描述存在於管理環境中的對象)提供完整的支持。WMI 包括對象儲備庫和 CIM 對象管理器,其中對象儲備庫是包含對象定義的數據庫,對象管理器負責處理儲備庫中對象的收集和操做並從 WMI 提供程序 (WMI provider) 收集信息。WMI 提供程序 (WMI provider) 在 WMI 和操做系統、應用程序以及其餘系統的組件之間充當中介。例如,註冊表提供程序從註冊表中提供信息,而 SNMP 提供程序則從 SNMP 設備中提供數據和事件。提供程序提供關於其組件的信息,也可能提供一些方法,這些方法能夠操做可設置的組件、屬性,或者操做可能警告您在組件中要發生更改的事件。Windows Management Instrumentation 命令行 (WMIC) 向您提供了簡單的 Windows Management Instrumentation (WMI) 命令行界面,這樣便可利用 WMI 來管理運行 Windows 的計算機。WMIC 與現有命令行程序和實用程序命令相互操做,且很容易經過腳本或其餘面向管理的應用程序來擴展 WMIC。 以上的這些說法太專業了,通俗一點講就是wmic.exe是一個命令行程序,能夠用它這個接口來實如今命令行下直接管理計算機軟硬件等方方面面的操做,至關於批處理的api了。 1、wmic的基本命令格式簡析 常常看網上的相關資料的話,讀者可能會對wmic有一個基本的認識,不過看得越多估計會越糊塗,起碼我是這樣認爲的。其實簡單總結一下,命令格式就是 「wmic+全局開關+別名+wql語句+動詞+副詞(或者說是動詞的參數)+動詞開關」而已了。這個命令格式能夠根據須要來寫全或者寫部份格式,我這裏依次對格式的每一個名稱按本身的理解來解釋一下,不過確定徹底不符合微軟專家的定義,只是讓你們弄懂它們而已。 wmic就是wmic.exe,位於windows目錄底下,是一個命令行程序。WMIC能夠以兩種模式執行:交互模式(Interactive mode)和非交互模式(Non-Interactive mode),常用Netsh命令行的讀者應該很是熟悉這兩種模式。 交互模式。若是你在命令提示符下或經過"運行"菜單隻輸入WMIC,都將進入WMIC的交互模式,每當一個命令執行完畢後,系統還會返回到WMIC提示符下,如"Root\cli",交互模式一般在須要執行多個WMIC指令時使用。交互模式有時還會對一些敏感的操做要求確認,好比刪除操做,最大限度地防止用戶操做出現失誤。 非交互模式。非交互模式是指將WMIC指令直接做爲WMIC的參數放在WMIC後面,當指令執行完畢後再返回到普通的命令提示符下,而不是進入到WMIC上下文環境中。WMIC的非交互模式主要用於批處理或者其餘一些腳本文件中,我在本文中一概用●非交互模式●示例。 開關有如下的全局開關,打入wmic.exe /?能夠看到的(這裏咱們先不討論每一個開關的具體意思,具體用法看示例): ★ /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>] Usage information. ★ 至於別名啦,就是給主板、服務、系統、進程啦這些和計算機相關的東東起了個英文名,在wmic.exe /?命令行下也能夠看到。 wql語句和咱們日常用的注入時的sql語句的語法幾乎是如出一轍,甚至更簡單。通常是where name="xxx" and 之類的,不過有時候要把name=「xxx"這樣的格式換成"name='xxx'"或者是where(name='xxx')這樣,反正正常狀況下不行的話就換個寫法。 動詞呢,就那麼簡單幾個assoc、call、CREATE、DELETE、GET、LIST、SET,從英文名字上應當能夠看出它們是用來幹什麼的。不過說實話,assoc我真的還沒用到過。 至於副詞(動詞的參數),就是獲得用動詞+它的參數獲得對象的屬性。像屬於list動詞的副詞,就是顯示個什麼樣的呀,例如顯示詳細狀態或簡要狀態。 動詞開關就比如顯示個橫表格式的或者顯示個豎表格式的或者輸出個什麼樣格式的文件,或者是幾秒來重複顯示信息等等,有的動詞並無開關。 2、一步一步來完成咱們的wmic命令行 wmic裏有個別名是logicaldisk,就是對磁盤進行管理。咱們先按照最簡單的格式來寫,在cmd命令行下輸入●wmic logicaldisk list●(wmic.exe+別名+list動詞),稍等一下子屏幕上會出現本地硬盤的各式各樣的數據,看上去雜亂無章。這樣子太不方便看了,咱們來改寫一下,改爲●wmic logicaldisk list brief●,在list動詞後加個brief參數,也就是brief副詞,顯示的就會很整齊,效果以下: ★ DeviceID brief FreeSpace ProviderName Size VolumeName A: 2 C: 3 2925694976 6805409792 WINXP D: 3 1117487104 1759936512 WORK E: 5 ★ 你們可能注意到了上面命令行中有動詞list和副詞brief。list動詞決定顯示的信息格式與範圍,它有Brief、Full、Instance、 Status、System、Writeable等多個參數(副詞),full只是它的一個參數,也是list的缺省參數,表示顯示全部的信息。其餘幾個參數顧名思義,如Brief表示只顯示摘要信息,Instance表示只顯示對象實例,Status表示顯示對象狀態,Writeable表示只顯示該對象的可寫入的屬性信息等。 咱們再來把語句加點東東,在上邊磁盤返回信息當中的DeviceID的值爲3時表示是本地硬盤的分區,若是是5爲光區,爲2則是移動磁盤了。咱們把語句改一下,加入wql語句,只顯示本地磁盤。語句改爲●wmic logicaldisk where "DriveType=3" list brief●或者是●wmic logicaldisk where(DriveType=3) list brief●,顯示效果都是下邊的樣子: ★ DeviceID DriveType FreeSpace ProviderName Size VolumeName C: 3 2925686784 6805409792 WINXP D: 3 1117487104 1759936512 WORK ★ 可是上邊的格式呢顯示的咱們仍是不太滿意,ProviderName不知是個什麼東東也給顯示出來了,咱們只想要咱們想要的東東,像卷標 VolumeName之類的咱們也不要它,再把語句改一下,換個get動詞,命令改成●wmic logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem●,返回信息以下: ★ DeviceID,Size,FreeSpace,Description,FileSystem Description DeviceID FileSystem FreeSpace Size 本地固定磁盤 C: FAT32 2925686784 6805409792 本地固定磁盤 D: FAT 1117487104 1759936512 ★ 至於get動詞後面跟的參數你能夠先用list來查看一下就明白了。好了,這回能夠獲得咱們想要的結果了。不過命令裏的開關咱們還沒用到呢,加幾個全局開關吧。先來加個/OUTPUT吧,讓它把顯示信息輸出到一個文件中,命令以下:●wmic /output:a.html logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem●,這樣一來剛纔屏幕上返回的信息就到當前目錄的 a.htm裏了。可是a.htm打開看看後,根本就像一個記事本同樣,沒有任何樣式,看起來也不美觀,咱們給它指定一個樣式,就要用到format這個動詞開關了,命令改成●wmic /output:a.html logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable●,這樣一來a.htm裏就花花綠綠的用表格顯示咱們本地磁盤的信息了。也許你要問,htable是什麼東東,其實這是一個文件,你想要上邊的a.html什麼格式,就能夠在C:\WINDOWS\system32\wbem這裏找一個你想要的格式的文件名,具體有如下一些文件: ★ CSV HFORM HMOF HTABLE HXML LIST TABLE VALUE htable-sortby htable-sortby.xsl texttablewsys texttablewsys.xsl wmiclimofformat wmiclimofformat.xsl wmiclitableformat wmiclitableformat.xsl wmiclitableformatnosys wmiclitableformatnosys.xsl wmiclivalueformat wmiclivalueformat.xsl ★ 還有人也許要問了,我只想顯示c:盤的,不要其它盤的能夠作到嗎?固然能夠,這就要用到wql語句的name這個變量了。你能夠先用●wmic logicaldisk list Instance●看到name的具體名字,而後更改上邊的wql語句。好啦,咱們改一下,改爲●wmic /output:a.html logicaldisk where "name='c:'" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable或者wmic /output:a.html logicaldisk where(name='c:') get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable●就能夠了。值得注意的是咱們在DriveType=3的沒有用到單引號是由於3是數字型的,而c:是字符型的因此要用單引號或雙引號。不過要注意的是若是在wql語句中用到了and,請用()或者""把語句引發來。 這樣一來,咱們最後的語句基本符合了我文章開頭說的wmic的命令格式是「wmic+開關+別名+wql語名+動詞+副詞(或者說是動詞的參數)+動詞開關」。不過wmic可不僅能對本機操做,還能夠對遠程機器進行操做,咱們再來加三個全局開關,讓咱們的這條命令對遠程格式進行操做,命令就是: ●WMIC /node:"192.168.8.100" /user:"administrator" /password:"lcx" /output:a.html logicaldisk where "name='c:'" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable● 其中node開關表示對哪臺機器進行訪問,user和password固然是遠程機器的用戶名和密碼了,這個命令有了以上的講解,你們應當一目瞭然了吧。到如今爲止,咱們的動詞只用到了get和list,咱們再加一個set來改變c:盤的卷標。命令以下:●WMIC logicaldisk where "name='c:'" set VolumeName ="lcx"●,這樣你們就更進一步清楚了這個格式的用法。寫了這麼多字,也許你要問到我wmic最有用的開關是什麼,固然是"?"了,若是那個命令不會用,能夠用wmic /? 、WMIC logicaldisk /?、WMIC logicaldisk list /?、WMIC logicaldisk set /?這樣儀次來查詢用法。 3、總結 wmic是很強大的,像開2003的3389一句話就能夠作到:●wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1●。不過呢, 這篇文章估計會有讓觀衆上當受騙的感受,一個wmic的磁盤命令寫了這麼長的篇幅,不過我想有了本文的基礎,你研究wmic其它的別名像進程、服務、bios、主板呀,都會有一個切入點,具體的好的技巧如開3389等就要靠你們去研究發現了。 補充: Windows WMIC命令詳解 rem 查看cpu wmic cpu list brief rem 查看物理內存 wmic memphysical list brief rem 查看邏輯內存 wmic memlogical list brief rem 查看緩存內存 wmic memcache list brief rem 查看虛擬內存 wmic pagefile list brief rem 查看網卡 wmic nic list brief rem 查看網絡協議 wmic netprotocal list brief 【例】將當前系統BIOS,CPU,主板等信息輸出到一個HTML網頁文件,命令以下: ::獲得系統信息.bat,運行bat文件便可 ::系統信息輸出到HTML文件,查看幫助: wmic /? ::wmic [系統參數名] list [brief|full] /format:hform >|>> [文件名] wmic bios list brief /format:hform > PCinfo.html wmic baseboard list brief /format:hform >>PCinfo.html wmic cpu list full /format:hform >>PCinfo.html wmic os list full /format:hform >>PCinfo.html wmic computersystem list brief /format:hform >>PCinfo.html wmic diskdrive list full /format:hform >>PCinfo.html wmic memlogical list full /format:hform >>PCinfo.html PCinfo.html -------------------------------------------------------------------------------- WMIC命令參數幫助參考: -------------------------------------------------------------------------------- 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 服務操做參數管理。
相關文章
相關標籤/搜索