溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

WMIC命令怎么在Windows中使用

發(fā)布時(shí)間:2021-03-25 17:33:51 來(lái)源:億速云 閱讀:250 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了WMIC命令怎么在Windows中使用,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

wimic的運(yùn)行方式可以有兩種法:

1、搞入wimic進(jìn)入后輸入命令運(yùn)行,鍵入wimic后出現(xiàn)wmic:root\cli>時(shí)你就可以輸入命令了,如輸入process顯示所有的進(jìn)程。不知道有什么命令時(shí)可以輸入用/?來(lái)顯示幫助。exit 是退出交互模式。具體幫助用法如下:

命令行幫助
  命令 例子 說(shuō)明
  /? 或 -? 顯示所有全局開關(guān)和別名的語(yǔ)法
  / /? /user /? 顯示指定全局開關(guān)的信息
  /? class /? 顯示某個(gè)命令的信息
  /? memcache /? 顯示某個(gè)別名的信息
  /? temperature get /? 顯示別名與動(dòng)詞組合的信息
  /?:Full irq get /?:Full 顯示動(dòng)詞的幫助信息
如:我要查看process命令的幫助,鍵入:process/?后顯示如下:
wmic:root\cli>process /?
PROCESS - 進(jìn)程管理。

提示: 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>]

2、用wimic 后面直接跟命令運(yùn)行,如wmic process 就顯示了所有的進(jìn)程了。這兩種運(yùn)行方法就是:交互模式(Interactive mode)和非交互模式(Non-Interactive mode)

下面我們能過(guò)一些實(shí)例來(lái)說(shuō)明用法:
=====================================================================
顯示進(jìn)程的詳細(xì)信息
輸入 process where name="maxthon.exe" list full
將顯示出mxathon.exe進(jìn)程所有的信息如下:
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
******************************************************************************
停止、暫停和運(yùn)行服務(wù)功能
啟動(dòng)服務(wù)startservice,
停止服務(wù)stopservice,
暫停服務(wù)pauseservice
Service where caption="windows time" call stopservice ------停止服務(wù)
Service where caption="windows time" call startservice ------啟動(dòng)服務(wù)
Service where name="w32time" call stopservice          ------停止服務(wù),注意name和caption的區(qū)別。
caption 顯示服務(wù)名name服務(wù)名稱,如: telnet服務(wù)的顯示名稱是telnet 服務(wù)名稱是tlntsvr,還有Windows Time服務(wù)的名稱是w32time 顯示名稱是"Windows Time"要用引號(hào)引起來(lái),主要是有一個(gè)空格。
好了具體看一下:輸入Service where caption="windows time" call startservice后有一個(gè)確認(rèn)輸入y就可以了,返回ReturnValue = 0;表示成功
wmic:root\cli>Service where caption="windows time" call startservice
執(zhí)行 (\\CHINA-46B1E8590\ROOT\CIMV2:Win32_Service.Name="W32Time")->startservice()
方法執(zhí)行成功。
輸出參數(shù):
instance of __PARAMETERS
{
        ReturnValue = 0;
};

wmic:root\cli>
================================================================================================
顯示出BIOS信息 wmic bios list full
大家可能注意到了上面命令行中還有兩個(gè)參數(shù)list和full。list決定顯示的信息格式與范圍,它有Brief、Full、Instance、 Status、System、Writeable等多個(gè)參數(shù),full只是它的一個(gè)參數(shù),也是list的缺省參數(shù),表示顯示所有的信息。其他幾個(gè)參數(shù)顧名思義,如Brief表示只顯示摘要信息,Instance表示只顯示對(duì)象實(shí)例,Status表示顯示對(duì)象狀態(tài),Writeable表示只顯示該對(duì)象的可寫入的屬性信息等。

************************************************************************=====================
停止進(jìn)程的操作
例如,執(zhí)行下面的命令將關(guān)閉正在運(yùn)行的QQ.exe:
例1、wmic process where name='QQ.exe' call terminate
命令運(yùn)行結(jié)束后,WMIC命令行提示出如下結(jié)果:
C:\>wmic process where name='QQ.exe' call terminate
執(zhí)行 (\\CHINA-46B1E8590\ROOT\CIMV2:Win32_Process.Handle="728")->terminate()
方法執(zhí)行成功。
輸出參數(shù):
instance of __PARAMETERS
{
        ReturnValue = 0;
};

例2、wmic process where name="qq.exe" delete
命令運(yùn)行結(jié)束后,WMIC命令行提示出如下結(jié)果:

C:\>wmic process where name="qq.exe" delete
刪除范例 \\CHINA-46B1E8590\ROOT\CIMV2:Win32_Process.Handle="2820"
范例刪除成功。
======================================================================
列出所有的進(jìn)程   wmic process
==================================================================

連接遠(yuǎn)程電腦

★★連接遠(yuǎn)程的電腦,不過(guò)好象對(duì)要開一些相應(yīng)的服務(wù)

wmic /node:"192.168.203.131" /password:"" /user:"administrator"

BIOS - 基本輸入/輸出服務(wù) (BIOS) 管理
★★查看bios版本型號(hào)
wmic bios get Manufacturer,Name

WMIC設(shè)置IP地址
★★配置或更新IP地址:
wmic nicconfig where index=0 call enablestatic("192.168.1.5"), ("255.255.255.0") ;index=0說(shuō)明是配置網(wǎng)絡(luò)接口1。
配置網(wǎng)關(guān)(默認(rèn)路由):
wmic nicconfig where index=0 call setgateways("192.168.1.1"),(1)

COMPUTERSYSTEM - 計(jì)算機(jī)系統(tǒng)管理
★★查看系統(tǒng)啟動(dòng)選項(xiàng),boot的內(nèi)容
wmic COMPUTERSYSTEM get SystemStartupOptions
★★查看工作組/域
wmic computersystem get domain
★★更改計(jì)算機(jī)名abc為123
wmic computersystem where "name='abc'" call rename 123
★★更改工作組google為MyGroup
wmic computersystem where "name='google'" call joindomainorworkgroup "","","MyGroup",1

CPU - CPU 管理
★★查看cpu型號(hào)
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
★★復(fù)制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 - 監(jiān)視器管理
★★獲取屏幕分辨率
wmic DESKTOPMONITOR where Status='ok' get ScreenHeight,ScreenWidth

DISKDRIVE - 物理磁盤驅(qū)動(dòng)器管理
★★獲取物理磁盤型號(hào)大小等
wmic DISKDRIVE get Caption,size,InterfaceType

ENVIRONMENT - 系統(tǒng)環(huán)境設(shè)置管理
★★獲取temp環(huán)境變量
wmic ENVIRONMENT where "name='temp'" get UserName,VariableValue
★★更改path環(huán)境變量值,新增e:\tools
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;e:\tools"
★★新增系統(tǒng)環(huán)境變量home,值為%HOMEDRIVE%%HOMEPATH%
wmic ENVIRONMENT create name="home",username="<system>",VariableValue="%HOMEDRIVE%%HOMEPATH%"
★★刪除home環(huán)境變量
wmic ENVIRONMENT where "name='home'" delete

FSDIR - 文件目錄系統(tǒng)項(xiàng)目管理
★★查找e盤下名為test的目錄
wmic FSDIR where "drive='e:' and filename='test'" list
★★刪除e:\test目錄下除過(guò)目錄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 - 本地儲(chǔ)存設(shè)備管理
★★獲取硬盤系統(tǒng)格式、總大小、可用空間等
wmic LOGICALDISK get name,Description,filesystem,size,freespace

NIC - 網(wǎng)絡(luò)界面控制器 (NIC) 管理

OS - 已安裝的操作系統(tǒng)管理
★★設(shè)置系統(tǒng)時(shí)間
wmic os where(primary=1) call setdatetime 20070731144642.555555+480

PAGEFILESET - 頁(yè)面文件設(shè)置管理
★★更改當(dāng)前頁(yè)面文件初始大小和最大值
wmic PAGEFILESET set InitialSize="512",MaximumSize="512"
★★頁(yè)面文件設(shè)置到d:\下,執(zhí)行下面兩條命令
wmic pagefileset create name='d:\pagefile.sys',initialsize=512,maximumsize=1024
wmic pagefileset where"name='c:\\pagefile.sys'" delete

PROCESS - 進(jìn)程管理
★★列出進(jìn)程的核心信息,類似任務(wù)管理器
wmic process list brief
★★結(jié)束svchost.exe進(jìn)程,路徑為非C:\WINDOWS\system32\svchost.exe的
wmic process where "name='svchost.exe' and ExecutablePath<>'C:\\WINDOWS\\system32\\svchost.exe'" call Terminate
★★新建notepad進(jìn)程
wmic process call create notepad

PRODUCT - 安裝包任務(wù)管理
★★安裝包在C:\WINDOWS\Installer目錄下
★★卸載.msi安裝包
wmic PRODUCT where "name='Microsoft .NET Framework 1.1' and Version='1.1.4322'" call Uninstall
★★修復(fù).msi安裝包
wmic PRODUCT where "name='Microsoft .NET Framework 1.1' and Version='1.1.4322'" call Reinstall

SERVICE - 服務(wù)程序管理
★★運(yùn)行spooler服務(wù)
wmic SERVICE where name="Spooler" call startservice
★★停止spooler服務(wù)
wmic SERVICE where name="Spooler" call stopservice
★★暫停spooler服務(wù)
wmic SERVICE where name="Spooler" call PauseService
★★更改spooler服務(wù)啟動(dòng)類型[auto|Disabled|Manual] 釋[自動(dòng)|禁用|手動(dòng)]
wmic SERVICE where name="Spooler" set StartMode="auto"
★★刪除服務(wù)
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 - 聲音設(shè)備管理
wmic SOUNDDEV list

STARTUP - 用戶登錄到計(jì)算機(jī)系統(tǒng)時(shí)自動(dòng)運(yùn)行命令的管理
★★查看msconfig中的啟動(dòng)選項(xiàng)
wmic STARTUP list

SYSDRIVER - 基本服務(wù)的系統(tǒng)驅(qū)動(dòng)程序管理
wmic SYSDRIVER list

USERACCOUNT - 用戶帳戶管理
★★更改用戶administrator全名為admin
wmic USERACCOUNT where name="Administrator" set FullName="admin"
★★更改用戶名admin為admin00
wmic useraccount where "name='admin" call Rename admin00


================================================獲取補(bǔ)丁信息
★★查看當(dāng)前系統(tǒng)打了哪些補(bǔ)丁
/node:legacyhost qfe get hotfixid

查看CPU當(dāng)前的速度
★★cpu當(dāng)前的速度
wmic cpu get CurrentClockSpeed

遠(yuǎn)程計(jì)算機(jī)的遠(yuǎn)程桌面連接
★★WMIC命令開啟遠(yuǎn)程計(jì)算機(jī)的遠(yuǎn)程桌面連接
執(zhí)行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 獲取進(jìn)程名稱以及可執(zhí)行路徑:
wmic process get name,executablepath

wmic 刪除指定進(jìn)程(根據(jù)進(jìn)程名稱):
wmic process where name="qq.exe" call terminate
或者用
wmic process where name="qq.exe" delete

wmic 刪除指定進(jìn)程(根據(jù)進(jìn)程PID):
wmic process where pid="123" delete

wmic 創(chuàng)建新進(jìn)程
wmic process call create "C:\Program Files\Tencent\QQ\QQ.exe"

在遠(yuǎn)程機(jī)器上創(chuàng)建新進(jìn)程:
wmic /node:192.168.201.131 /user:administrator /password:123456 process call create cmd.exe

關(guān)閉本地計(jì)算機(jī)
wmic process call create shutdown.exe

重啟遠(yuǎn)程計(jì)算機(jī)
wmic /node:192.168.1.10/user:administrator /password:123456 process call create "shutdown.exe -r -f -m"

更改計(jì)算機(jī)名稱
wmic computersystem where "caption='%ComputerName%'" call rename newcomputername

更改帳戶名
wmic USERACCOUNT where "name='%UserName%'" call rename newUserName

wmic 結(jié)束可疑進(jìn)程(根據(jù)進(jìn)程的啟動(dòng)路徑)

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

wmic 獲取物理內(nèi)存
wmic memlogical get TotalPhysicalMemory|find /i /v "t"

wmic 獲取文件的創(chuàng)建、訪問、修改時(shí)間

@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 創(chuàng)建時(shí)間: %a:~0,4% 年 %a:~4,2% 月 %a:~6,2% 日 %a:~8,2% 時(shí) %a:~10,2% 分 %a:~12,2% 秒
echo 最后訪問: %b:~0,4% 年 %b:~4,2% 月 %b:~6,2% 日 %b:~8,2% 時(shí) %b:~10,2% 分 %b:~12,2% 秒
echo 最后修改: %c:~0,4% 年 %c:~4,2% 月 %c:~6,2% 日 %c:~8,2% 時(shí) %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"

設(shè)置虛擬內(nèi)存到E盤,并刪除C盤下的頁(yè)面文件,重啟計(jì)算機(jī)后生效

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

獲得進(jìn)程當(dāng)前占用的內(nèi)存和最大占用內(nèi)存的大?。?/p>

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 進(jìn)程conime.exe現(xiàn)在占用內(nèi)存:%m%K;最高占用內(nèi)存:%mm%K
)
pause

遠(yuǎn)程打開計(jì)算機(jī)遠(yuǎn)程桌面

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

===========================================================================

批處理的api--WMIC學(xué)習(xí)體會(huì)
在這篇文章里也許你看不到很多奇特有用的的實(shí)際例程,但是呢,授人以魚不如授人以漁,希望我的文章能讓你通俗易懂的了解一些wmic的基本知識(shí),可以有一個(gè)學(xué)習(xí)的興趣,讓自己繼續(xù)深研一下wmic。
在WINDOWS\Help目下,wmic.chm文檔是這樣解釋wmi的:Windows Management Instrumentation (WMI) 是“基于 Web 的企業(yè)管理倡議 (WBEM)”(這是一個(gè)旨在建立在企業(yè)網(wǎng)絡(luò)上訪問和共享管理信息的標(biāo)準(zhǔn)的工業(yè)倡議)的 Microsoft 的實(shí)現(xiàn)。有關(guān) WBEM 的詳細(xì)信息,請(qǐng)?jiān)L問 WBEM。XOXWMI 為公用信息模型 (CIM)(該數(shù)據(jù)模型描述存在于管理環(huán)境中的對(duì)象)提供完整的支持。WMI 包括對(duì)象儲(chǔ)備庫(kù)和 CIM 對(duì)象管理器,其中對(duì)象儲(chǔ)備庫(kù)是包含對(duì)象定義的數(shù)據(jù)庫(kù),對(duì)象管理器負(fù)責(zé)處理儲(chǔ)備庫(kù)中對(duì)象的收集和操作并從 WMI 提供程序 (WMI provider) 收集信息。WMI 提供程序 (WMI provider) 在 WMI 和操作系統(tǒng)、應(yīng)用程序以及其他系統(tǒng)的組件之間充當(dāng)中介。例如,注冊(cè)表提供程序從注冊(cè)表中提供信息,而 SNMP 提供程序則從 SNMP 設(shè)備中提供數(shù)據(jù)和事件。提供程序提供關(guān)于其組件的信息,也可能提供一些方法,這些方法可以操作可設(shè)置的組件、屬性,或者操作可能警告您在組件中要發(fā)生更改的事件。Windows Management Instrumentation 命令行 (WMIC) 向您提供了簡(jiǎn)單的 Windows Management Instrumentation (WMI) 命令行界面,這樣即可利用 WMI 來(lái)管理運(yùn)行 Windows 的計(jì)算機(jī)。WMIC 與現(xiàn)有命令行程序和實(shí)用程序命令相互操作,且很容易通過(guò)腳本或其他面向管理的應(yīng)用程序來(lái)擴(kuò)展 WMIC。
以上的這些說(shuō)法太專業(yè)了,通俗一點(diǎn)講就是wmic.exe是一個(gè)命令行程序,可以用它這個(gè)接口來(lái)實(shí)現(xiàn)在命令行下直接管理計(jì)算機(jī)軟硬件等方方面面的操作,相當(dāng)于批處理的api了。
一、wmic的基本命令格式簡(jiǎn)析
經(jīng)常看網(wǎng)上的相關(guān)資料的話,讀者可能會(huì)對(duì)wmic有一個(gè)基本的認(rèn)識(shí),不過(guò)看得越多估計(jì)會(huì)越糊涂,起碼我是這樣認(rèn)為的。其實(shí)簡(jiǎn)單總結(jié)一下,命令格式就是 “wmic+全局開關(guān)+別名+wql語(yǔ)句+動(dòng)詞+副詞(或者說(shuō)是動(dòng)詞的參數(shù))+動(dòng)詞開關(guān)”而已了。這個(gè)命令格式可以根據(jù)需要來(lái)寫全或者寫部份格式,我這里依次對(duì)格式的每個(gè)名稱按自己的理解來(lái)解釋一下,不過(guò)肯定完全不符合微軟專家的定義,只是讓大家弄懂它們而已。
wmic就是wmic.exe,位于windows目錄底下,是一個(gè)命令行程序。WMIC可以以兩種模式執(zhí)行:交互模式(Interactive mode)和非交互模式(Non-Interactive mode),經(jīng)常使用Netsh命令行的讀者應(yīng)該非常熟悉這兩種模式。
交互模式。如果你在命令提示符下或通過(guò)"運(yùn)行"菜單只輸入WMIC,都將進(jìn)入WMIC的交互模式,每當(dāng)一個(gè)命令執(zhí)行完畢后,系統(tǒng)還會(huì)返回到WMIC提示符下,如"Root\cli",交互模式通常在需要執(zhí)行多個(gè)WMIC指令時(shí)使用。交互模式有時(shí)還會(huì)對(duì)一些敏感的操作要求確認(rèn),比如刪除操作,最大限度地防止用戶操作出現(xiàn)失誤。
非交互模式。非交互模式是指將WMIC指令直接作為WMIC的參數(shù)放在WMIC后面,當(dāng)指令執(zhí)行完畢后再返回到普通的命令提示符下,而不是進(jìn)入到WMIC上下文環(huán)境中。WMIC的非交互模式主要用于批處理或者其他一些腳本文件中,我在本文中一律用●非交互模式●示例。
開關(guān)有以下的全局開關(guān),打入wmic.exe /?可以看到的(這里我們先不討論每個(gè)開關(guān)的具體意思,具體用法看示例):

/NAMESPACE 別名使用的名稱空間路徑。
/ROLE 包含此別名定義的角色路徑。
/NODE 別名使用的服務(wù)器
/IMPLEVEL 客戶模擬級(jí)別。
/AUTHLEVEL 客戶身份驗(yàn)證級(jí)別。
/LOCALE 客戶應(yīng)用的語(yǔ)言識(shí)別符。
/PRIVILEGES 啟用或禁用所有特權(quán)。
/TRACE 將調(diào)試信息輸出到 stderr。
/RECORD 將所有輸入命令和輸出寫入日志。
/INTERACTIVE 設(shè)置或重設(shè)交互模式。
/FAILFAST 設(shè)置或重置 FailFast 模式。
/USER 會(huì)話期間使用的用戶。
/PASSWORD 用于會(huì)話登錄的密碼。
/OUTPUT 為輸出重新定向指定模式。
/APPEND 為輸出重新定向指定模式。
/AGGREGATE 設(shè)置或重置集合模式。
/AUTHORITY Specifies the <authority type> for the connection.
/?[:<BRIEF|FULL>] Usage information.


至于別名啦,就是給主板、服務(wù)、系統(tǒng)、進(jìn)程啦這些和計(jì)算機(jī)相關(guān)的東東起了個(gè)英文名,在wmic.exe /?命令行下也可以看到。
wql語(yǔ)句和我們平常用的注入時(shí)的sql語(yǔ)句的語(yǔ)法幾乎是一模一樣,甚至更簡(jiǎn)單。一般是where name="xxx" and 之類的,不過(guò)有時(shí)候要把name=“xxx"這樣的格式換成"name='xxx'"或者是where(name='xxx')這樣,反正正常情況下不行的話就換個(gè)寫法。
動(dòng)詞呢,就那么簡(jiǎn)單幾個(gè)assoc、call、CREATE、DELETE、GET、LIST、SET,從英文名字上應(yīng)當(dāng)可以看出它們是用來(lái)干什么的。不過(guò)說(shuō)實(shí)話,assoc我真的還沒用到過(guò)。
至于副詞(動(dòng)詞的參數(shù)),就是得到用動(dòng)詞+它的參數(shù)得到對(duì)象的屬性。像屬于list動(dòng)詞的副詞,就是顯示個(gè)什么樣的呀,例如顯示詳細(xì)狀態(tài)或簡(jiǎn)要狀態(tài)。
動(dòng)詞開關(guān)就好比顯示個(gè)橫表格式的或者顯示個(gè)豎表格式的或者輸出個(gè)什么樣格式的文件,或者是幾秒來(lái)重復(fù)顯示信息等等,有的動(dòng)詞并沒有開關(guān)。

二、一步一步來(lái)完成我們的wmic命令行

wmic里有個(gè)別名是logicaldisk,就是對(duì)磁盤進(jìn)行管理。我們先按照最簡(jiǎn)單的格式來(lái)寫,在cmd命令行下輸入●wmic logicaldisk list●(wmic.exe+別名+list動(dòng)詞),稍等一會(huì)兒屏幕上會(huì)出現(xiàn)本地硬盤的各式各樣的數(shù)據(jù),看上去雜亂無(wú)章。這樣子太不方便看了,我們來(lái)改寫一下,改成●wmic logicaldisk list brief●,在list動(dòng)詞后加個(gè)brief參數(shù),也就是brief副詞,顯示的就會(huì)很整齊,效果如下:

DeviceID brief FreeSpace ProviderName Size VolumeName
A: 2
C: 3 2925694976 6805409792 WINXP
D: 3 1117487104 1759936512 WORK
E: 5

大家可能注意到了上面命令行中有動(dòng)詞list和副詞brief。list動(dòng)詞決定顯示的信息格式與范圍,它有Brief、Full、Instance、 Status、System、Writeable等多個(gè)參數(shù)(副詞),full只是它的一個(gè)參數(shù),也是list的缺省參數(shù),表示顯示所有的信息。其他幾個(gè)參數(shù)顧名思義,如Brief表示只顯示摘要信息,Instance表示只顯示對(duì)象實(shí)例,Status表示顯示對(duì)象狀態(tài),Writeable表示只顯示該對(duì)象的可寫入的屬性信息等。
我們?cè)賮?lái)把語(yǔ)句加點(diǎn)東東,在上邊磁盤返回信息當(dāng)中的DeviceID的值為3時(shí)表示是本地硬盤的分區(qū),如果是5為光區(qū),為2則是移動(dòng)磁盤了。我們把語(yǔ)句改一下,加入wql語(yǔ)句,只顯示本地磁盤。語(yǔ)句改成●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不知是個(gè)什么東東也給顯示出來(lái)了,我們只想要我們想要的東東,像卷標(biāo) VolumeName之類的我們也不要它,再把語(yǔ)句改一下,換個(gè)get動(dòng)詞,命令改為●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動(dòng)詞后面跟的參數(shù)你可以先用list來(lái)查看一下就明白了。好了,這回可以得到我們想要的結(jié)果了。不過(guò)命令里的開關(guān)我們還沒用到呢,加幾個(gè)全局開關(guān)吧。先來(lái)加個(gè)/OUTPUT吧,讓它把顯示信息輸出到一個(gè)文件中,命令如下:●wmic /output:a.html logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem●,這樣一來(lái)剛才屏幕上返回的信息就到當(dāng)前目錄的 a.htm里了。但是a.htm打開看看后,根本就像一個(gè)記事本一樣,沒有任何樣式,看起來(lái)也不美觀,我們給它指定一個(gè)樣式,就要用到format這個(gè)動(dòng)詞開關(guān)了,命令改為●wmic /output:a.html logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable●,這樣一來(lái)a.htm里就花花綠綠的用表格顯示我們本地磁盤的信息了。也許你要問,htable是什么東東,其實(shí)這是一個(gè)文件,你想要上邊的a.html什么格式,就可以在C:\WINDOWS\system32\wbem這里找一個(gè)你想要的格式的文件名,具體有以下一些文件:

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:盤的,不要其它盤的可以做到嗎?當(dāng)然可以,這就要用到wql語(yǔ)句的name這個(gè)變量了。你可以先用●wmic logicaldisk list Instance●看到name的具體名字,然后更改上邊的wql語(yǔ)句。好啦,我們改一下,改成●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●就可以了。值得注意的是我們?cè)贒riveType=3的沒有用到單引號(hào)是因?yàn)?是數(shù)字型的,而c:是字符型的所以要用單引號(hào)或雙引號(hào)。不過(guò)要注意的是如果在wql語(yǔ)句中用到了and,請(qǐng)用()或者""把語(yǔ)句引起來(lái)。
這樣一來(lái),我們最后的語(yǔ)句基本符合了我文章開頭說(shuō)的wmic的命令格式是“wmic+開關(guān)+別名+wql語(yǔ)名+動(dòng)詞+副詞(或者說(shuō)是動(dòng)詞的參數(shù))+動(dòng)詞開關(guān)”。不過(guò)wmic可不只能對(duì)本機(jī)操作,還可以對(duì)遠(yuǎn)程機(jī)器進(jìn)行操作,我們?cè)賮?lái)加三個(gè)全局開關(guān),讓我們的這條命令對(duì)遠(yuǎn)程格式進(jìn)行操作,命令就是:
●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開關(guān)表示對(duì)哪臺(tái)機(jī)器進(jìn)行訪問,user和password當(dāng)然是遠(yuǎn)程機(jī)器的用戶名和密碼了,這個(gè)命令有了以上的講解,大家應(yīng)當(dāng)一目了然了吧。到現(xiàn)在為止,我們的動(dòng)詞只用到了get和list,我們?cè)偌右粋€(gè)set來(lái)改變c:盤的卷標(biāo)。命令如下:●WMIC logicaldisk where "name='c:'" set VolumeName ="lcx"●,這樣大家就更進(jìn)一步清楚了這個(gè)格式的用法。寫了這么多字,也許你要問到我wmic最有用的開關(guān)是什么,當(dāng)然是"?"了,如果那個(gè)命令不會(huì)用,可以用wmic /? 、WMIC logicaldisk /?、WMIC logicaldisk list /?、WMIC logicaldisk set /?這樣儀次來(lái)查詢用法。

三、總結(jié)

wmic是很強(qiáng)大的,像開2003的3389一句話就可以做到:●wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1●。不過(guò)呢,
這篇文章估計(jì)會(huì)有讓觀眾上當(dāng)受騙的感覺,一個(gè)wmic的磁盤命令寫了這么長(zhǎng)的篇幅,不過(guò)我想有了本文的基礎(chǔ),你研究wmic其它的別名像進(jìn)程、服務(wù)、bios、主板呀,都會(huì)有一個(gè)切入點(diǎn),具體的好的技巧如開3389等就要靠大家去研究發(fā)現(xiàn)了。

補(bǔ)充:

Windows WMIC命令詳解

rem 查看cpu
wmic cpu list brief
rem 查看物理內(nèi)存
wmic memphysical list brief
rem 查看邏輯內(nèi)存
wmic memlogical list brief
rem 查看緩存內(nèi)存
wmic memcache list brief
rem 查看虛擬內(nèi)存
wmic pagefile list brief
rem 查看網(wǎng)卡
wmic nic list brief
rem 查看網(wǎng)絡(luò)協(xié)議
wmic netprotocal list brief

【例】將當(dāng)前系統(tǒng)BIOS,CPU,主板等信息輸出到一個(gè)HTML網(wǎng)頁(yè)文件,命令如下:

::得到系統(tǒng)信息.bat,運(yùn)行bat文件即可
::系統(tǒng)信息輸出到HTML文件,查看幫助: wmic /?
::wmic [系統(tǒng)參數(shù)名] 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命令參數(shù)幫助參考:
--------------------------------------------------------------------------------
ALIAS                    - 訪問本地機(jī)器上的別名
BASEBOARD                - 基板 (也叫母板或系統(tǒng)板) 管理。
BIOS                     - 基本輸入/輸出服務(wù) (BIOS) 管理。
BOOTCONFIG               - 啟動(dòng)配置管理。
CDROM                    - CD-ROM 管理。
COMPUTERSYSTEM           - 計(jì)算機(jī)系統(tǒng)管理。
CPU                      - CPU 管理。
CSPRODUCT                - SMBIOS 的計(jì)算機(jī)系統(tǒng)產(chǎn)品信息。
DATAFILE                 - DataFile 管理。
DCOMAPP                  - DCOM 程序管理。
DESKTOP                  - 用戶桌面管理。
DESKTOPMONITOR           - 監(jiān)視器管理。
DEVICEMEMORYADDRESS      - 設(shè)備內(nèi)存地址管理。
DISKDRIVE                - 物理磁盤驅(qū)動(dòng)器管理。
DISKQUOTA                - NTFS 卷磁盤空間使用情況。
DMACHANNEL               - 直接內(nèi)存訪問(DMA)頻道管理。
ENVIRONMENT              - 系統(tǒng)環(huán)境設(shè)置管理。
FSDIR                    - 文件目錄系統(tǒng)項(xiàng)目管理。
GROUP                    - 組帳戶管理。
IDECONTROLLER            - IDE 控制器管理。
IRQ                      - 間隔請(qǐng)求線 (IRQ) 管理。
JOB                      - 提供對(duì)使用計(jì)劃服務(wù)安排的工作的訪問。
LOADORDER                - 定義執(zhí)行依存的系統(tǒng)服務(wù)管理。
LOGICALDISK              - 本地儲(chǔ)存設(shè)備管理。
LOGON                    - 登錄會(huì)話。
MEMCACHE                 - 緩存內(nèi)存管理。
MEMLOGICAL               - 系統(tǒng)內(nèi)存管理 (配置布局和內(nèi)存可用性)。
MEMPHYSICAL              - 計(jì)算機(jī)系統(tǒng)物理內(nèi)存管理。
NETCLIENT                - 網(wǎng)絡(luò)客戶端管理。
NETLOGIN                 - (某一用戶的)網(wǎng)絡(luò)登錄信息管理。
NETPROTOCOL              - 協(xié)議 (和其網(wǎng)絡(luò)特點(diǎn)) 管理。
NETUSE                   - 活動(dòng)網(wǎng)絡(luò)連接管理。
NIC                      - 網(wǎng)絡(luò)界面控制器 (NIC) 管理。
NICCONFIG                - 網(wǎng)絡(luò)適配器管理。
NTDOMAIN                 - NT 域管理。
NTEVENT                  - NT 事件日志的項(xiàng)目
NTEVENTLOG               - NT 時(shí)間日志文件管理。
ONBOARDDEVICE            - 母板(系統(tǒng)板)內(nèi)置普通設(shè)適配器設(shè)備的管理。
OS                       - 已安裝的操作系統(tǒng)管理。
PAGEFILE                 - 虛擬內(nèi)存文件對(duì)調(diào)管理。
PAGEFILESET              - 頁(yè)面文件設(shè)置管理。
PARTITION                - 物理磁盤分區(qū)區(qū)域的管理。
PORT                     - I/O 端口管理。
PORTCONNECTOR            - 物理連接端口管理。
PRINTER                  - 打印機(jī)設(shè)備管理。
PRINTERCONFIG            - 打印機(jī)設(shè)備配置管理。
PRINTJOB                 - 打印工作管理。
PROCESS                  - 進(jìn)程管理。
PRODUCT                  - 安裝包任務(wù)管理。
QFE                      - 快速故障排除。
QUOTASETTING             - 設(shè)置卷的磁盤配額信息。
RECOVEROS                - 當(dāng)操作系統(tǒng)失敗時(shí),將從內(nèi)存收集的信息。
REGISTRY                 - 計(jì)算機(jī)系統(tǒng)注冊(cè)表管理。
SCSICONTROLLER           - SCSI 控制器管理。
SERVER                   - 服務(wù)器信息管理。
SERVICE                  - 服務(wù)程序管理。
SHARE                    - 共享資源管理。
SOFTWAREELEMENT          - 安裝在系統(tǒng)上的軟件產(chǎn)品元素的管理。
SOFTWAREFEATURE          - SoftwareElement 的軟件產(chǎn)品組件的管理。
SOUNDDEV                 - 聲音設(shè)備管理。
STARTUP                  - 用戶登錄到計(jì)算機(jī)系統(tǒng)時(shí)自動(dòng)運(yùn)行命令的管理。
SYSACCOUNT               - 系統(tǒng)帳戶管理。
SYSDRIVER                - 基本服務(wù)的系統(tǒng)驅(qū)動(dòng)程序管理。
SYSTEMENCLOSURE          - 物理系統(tǒng)封閉管理。
SYSTEMSLOT               - 包括端口、插口、附件和主要連接點(diǎn)的物理連接點(diǎn)管理。
TAPEDRIVE                - 磁帶驅(qū)動(dòng)器管理。
TEMPERATURE              - 溫度感應(yīng)器的數(shù)據(jù)管理 (電子溫度表)。
TIMEZONE                 - 時(shí)間區(qū)域數(shù)據(jù)管理。
UPS                      - 不可中斷的電源供應(yīng) (UPS) 管理。
USERACCOUNT              - 用戶帳戶管理。
VOLTAGE                  - 電壓感應(yīng)器 (電子電量計(jì)) 數(shù)據(jù)管理。
VOLUMEQUOTASETTING       - 將某一磁盤卷與磁盤配額設(shè)置關(guān)聯(lián)。
WMISET                   - WMI 服務(wù)操作參數(shù)管理。

上述內(nèi)容就是WMIC命令怎么在Windows中使用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI