2023年7月3日发(作者:)
javawmic_WindowsWMIC命令使⽤详解(附实例)执⾏“wmic”命令启动WMIC命令⾏环境。这个命令可以在XP或 .NET Server的标准命令⾏解释器()、Telnet会话或“运⾏”对话框中执⾏。这些启动⽅法可以在本地使⽤,也可以通过.NET Server终端服务会话使⽤。第⼀次执⾏WMIC命令时,Windows⾸先要安装WMIC,然后显⽰出WMIC的命令⾏提⽰符。在WMIC命令⾏提⽰符上,命令以交互的⽅式执⾏。wimic的运⾏⽅式可以有两种法:1、搞⼊wimic进⼊后输⼊命令运⾏,键⼊wimic后出现wmic:rootcli>时你就可以输⼊命令了,如输⼊process显⽰所有的进程。不知道有什么命令时可以输⼊⽤/?来显⽰帮助。exit 是退出交互模式。具体帮助⽤法如下:命令⾏帮助命令 例⼦ 说明/? 或 -? 显⽰所有全局开关和别名的语法/ /? /user /? 显⽰指定全局开关的信息/? class /? 显⽰某个命令的信息/? memcache /? 显⽰某个别名的信息/? temperature get /? 显⽰别名与动词组合的信息/?:Full irq get /?:Full 显⽰动词的帮助信息如:我要查看process命令的帮助,键⼊:process/?后显⽰如下:wmic:rootcli>process /?PROCESS - 进程管理。提⽰: BNF 的别名⽤法。( [WMIObject] | [] | [] ) [].⽤法:PROCESS ASSOC []PROCESS CALL []PROCESS CREATEPROCESS DELETEPROCESS GET [] []PROCESS LIST [] []2、⽤wimic 后⾯直接跟命令运⾏,如wmic process 就显⽰了所有的进程了。这两种运⾏⽅法就是:交互模式(Interactive mode)和⾮交互模式(Non-Interactive mode)下⾯我们能过⼀些实例来说明⽤法:=====================================================================显⽰进程的详细信息输⼊ process where name="" list full将显⽰出进程所有的信息如下:CommandLine="D:"CSName=CHINA-46B1E8590Description=cutablePath=D:cutionState=Handle=684HandleCount=2296InstallDate=KernelModeTime=3495000000MaximumWorkingSetSize=1413120MinimumWorkingSetSize=204800Name=ame=Microsoft Windows XP Professional|C:WINDOWS|OtherOperationCount=307814OtherTransferCount=60877207PageFaults=1367971PageFileUsage=89849856ParentProcessId=1924PeakPageFileUsage=90091520PeakVirtualSize=385802240PeakWorkingSetSize=94031872Priority=8PrivatePageCount=89849856ProcessId=684QuotaNonPagedPoolUsage=43496QuotaPagedPoolUsage=257628QuotaPeakNonPagedPoolUsage=72836QuotaPeakPagedPoolUsage=271372ReadOperationCount=85656ReadTransferCount=121015982SessionId=0Status=TerminationDate=ThreadCount=57UserModeTime=1778750000VirtualSize=353206272WindowsVersion=5.1.2600WorkingSetSize=93716480WriteOperationCount=30940WriteTransferCount=24169673******************************************************************************停⽌、暂停和运⾏服务功能启动服务startservice,停⽌服务stopservice,暂停服务pauseserviceService 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:rootcli>Service where caption="windows time" call startservice执⾏ (CHINA-46B1E8590ROOTCIMV2:Win32_="W32Time")->startservice()⽅法执⾏成功。输出参数:instance of __PARAMETERS{ReturnValue = 0;};wmic:rootcli>===========================================================================================显⽰出BIOS信息 wmic bios list full⼤家可能注意到了上⾯命令⾏中还有两个参数list和full。list决定显⽰的信息格式与范围,它有Brief、Full、Instance、 Status、System、Writeable等多个参数,full只是它的⼀个参数,也是list的缺省参数,表⽰显⽰所有的信息。其他⼏个参数顾名思义,如Brief表⽰只显⽰摘要信息,Instance表⽰只显⽰对象实例,Status表⽰显⽰对象状态,Writeable表⽰只显⽰该对象的可写⼊的属性信息等。************************************************************************=====================停⽌进程的操作例如,执⾏下⾯的命令将关闭正在运⾏的:例1、wmic process where name='' call terminate命令运⾏结束后,WMIC命令⾏提⽰出如下结果:C:>wmic process where name='' call terminate执⾏ (CHINA-46B1E8590ROOTCIMV2:Win32_="728")->terminate()⽅法执⾏成功。输出参数:instance of __PARAMETERS{ReturnValue = 0;};例2、wmic process where name="" delete命令运⾏结束后,WMIC命令⾏提⽰出如下结果:C:>wmic process where name="" delete删除范例 CHINA-46B1E8590ROOTCIMV2:Win32_="2820"范例删除成功。======================================================================列出所有的进程 wmic process==================================================================连接远程电脑★★连接远程的电脑,不过好象对要开⼀些相应的服务wmic /node:"192.168.203.131" /password:"" /user:"administrator"BIOS - 基本输⼊/输出服务 (BIOS) 管理★★查看bios版本型号wmic bios get Manufacturer,NameWMIC设置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为123wmic computersystem where "name='abc'" call rename 123★★更改⼯作组google为MyGroupwmic computersystem where "name='google'" call joindomainorworkgroup "","","MyGroup",1CPU - CPU 管理★★查看cpu型号wmic cpu get nameDATAFILE - DataFile 管理★★查找e盘下test⽬录(不包括⼦⽬录)下的⽂件wmic datafile where "drive='e:' and path='test' and FileName='cc' and Extension='cmd'" list★★查找e盘下所有⽬录和⼦⽬录下的⽂件,且⽂件⼤⼩⼤于1Kwmic 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⽬录(不包括⼦⽬录)下的⽂件到e:,并改名为c datafile where "drive='e:' and path='test' and FileName='cc' and Extension='cmd'" call copy "e:"★★改名c:为c:c datafile "c:" call rename c:★★查找h盘下⽬录含有test,⽂件名含有perl,后缀为txt的⽂件wmic datafile where "drive='h:' and extension='txt' and path like '%test%' and filename like '%perl%'" get nameDESKTOPMONITOR - 监视器管理★★获取屏幕分辨率wmic DESKTOPMONITOR where Status='ok' get ScreenHeight,ScreenWidthDISKDRIVE - 物理磁盘驱动器管理★★获取物理磁盘型号⼤⼩等wmic DISKDRIVE get Caption,size,InterfaceTypeENVIRONMENT - 系统环境设置管理★★获取temp环境变量wmic ENVIRONMENT where "name='temp'" get UserName,VariableValue★★更改path环境变量值,新增e:toolswmic ENVIRONMENT where "name='path' and username=''" set VariableValue="%path%;e:tools"★★新增系统环境变量home,值为%HOMEDRIVE%%HOMEPATH%wmic ENVIRONMENT create name="home",username="",VariableValue="%HOMEDRIVE%%HOMEPATH%"★★删除home环境变量wmic ENVIRONMENT where "name='home'" deleteFSDIR - ⽂件⽬录系统项⽬管理★★查找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⽂件夹为abbwmic fsdir "c:good" rename "c:abb"LOGICALDISK - 本地储存设备管理★★获取硬盘系统格式、总⼤⼩、可⽤空间等wmic LOGICALDISK get name,Description,filesystem,size,freespaceNIC - ⽹络界⾯控制器 (NIC) 管理OS - 已安装的操作系统管理★★设置系统时间wmic os where(primary=1) call setdatetime 22.555555+480PAGEFILESET - 页⾯⽂件设置管理★★更改当前页⾯⽂件初始⼤⼩和最⼤值wmic PAGEFILESET set InitialSize="512",MaximumSize="512"★★页⾯⽂件设置到d:下,执⾏下⾯两条命令wmic pagefileset create name='d:',initialsize=512,maximumsize=1024wmic pagefileset where"name='c:'" deletePROCESS - 进程管理★★列出进程的核⼼信息,类似任务管理器wmic process list brief★★结束进程,路径为⾮C:的wmic process where "name='' and ExecutablePath<>'C:'" call Terminate★★新建notepad进程wmic process call create notepadPRODUCT - 安装包任务管理★★安装包在C:WINDOWSInstaller⽬录下★★卸载.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 ReinstallSERVICE - 服务程序管理★★运⾏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 deleteSHARE - 共享资源管理★★删除共享wmic SHARE where name="e$" call delete★★添加共享WMIC SHARE CALL Create "","test","3","TestShareName","","c:test",0SOUNDDEV - 声⾳设备管理wmic SOUNDDEV listSTARTUP - ⽤户登录到计算机系统时⾃动运⾏命令的管理★★查看msconfig中的启动选项wmic STARTUP listSYSDRIVER - 基本服务的系统驱动程序管理wmic SYSDRIVER listUSERACCOUNT - ⽤户帐户管理★★更改⽤户administrator全名为adminwmic USERACCOUNT where name="Administrator" set FullName="admin"★★更改⽤户名admin为admin00wmic 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:administratorPATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1具体格式:wmic /node:"[full machine name]" /USER:"[domain][username]"PATH win32_terminalservicesetting WHERE (__Class!="") CALL SetAllowTSConnections 1wmic 获取进程名称以及可执⾏路径:wmic process get name,executablepathwmic 删除指定进程(根据进程名称):wmic process where name="" call terminate或者⽤wmic process where name="" deletewmic 删除指定进程(根据进程PID):wmic process where pid="123" deletewmic 创建新进程wmic process call create "C:Program "在远程机器上创建新进程:wmic /node:192.168.201.131 /user:administrator /password:123456 process call create 关闭本地计算机wmic process call create 重启远程计算机wmic /node:192.168.1.10/user:administrator /password:123456 process call create " -r -f -m"更改计算机名称wmic computersystem where "caption='%ComputerName%'" call rename newcomputername更改帐户名wmic USERACCOUNT where "name='%UserName%'" call rename newUserNamewmic 结束可疑进程(根据进程的启动路径)wmic process where "name='' and executablepath<>'%SystemDrive%'" deletewmic 获取物理内存wmic memlogical get TotalPhysicalMemory|find /i /v "t"wmic 获取⽂件的创建、访问、修改时间@echo offfor /f "skip=1 tokens=1,3,5 delims=. " %%a in ('wmic datafile where name^="c:" getCreationDate^,LastAccessed^,LastModified') do (set a=%%aset b=%%bset c=%%cecho ⽂件: c: 创建时间: %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% 秒)mic 全盘搜索某⽂件并获取该⽂件所在⽬录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,ScreenWidthwmic PageFileSet set InitialSize="512",MaximumSize="512"设置虚拟内存到E盘,并删除C盘下的页⾯⽂件,重启计算机后⽣效wmic PageFileSet create name="E:",InitialSize="1024",MaximumSize="1024"wmic PageFileSet where "name='C:'" delete获得进程当前占⽤的内存和最⼤占⽤内存的⼤⼩:wmic process where caption='' get WorkingSetSize,PeakWorkingSetSize以KB为单位显⽰@echo offfor /f "skip=1 tokens=1-2 delims= " %%a in ('wmic process where caption^="" getWorkingSetSize^,PeakWorkingSetSize') do (set /a m=%%a/1024set /a mm=%%b/1024echo 进程现在占⽤内存:%m%K;最⾼占⽤内存:%mm%K)pause远程打开计算机远程桌⾯wmic /node:%pcname% /USER:%pcaccount% PATH win32_terminalservicesetting WHERE (__Class!="") CALLSetAllowTSConnections 1===========================================================================批处理的api--WMIC学习体会在这篇⽂章⾥也许你看不到很多奇特有⽤的的实际例程,但是呢,授⼈以鱼不如授⼈以渔,希望我的⽂章能让你通俗易懂的了解⼀些wmic的基本知识,可以有⼀个学习的兴趣,让⾃⼰继续深研⼀下wmic。在WINDOWSHelp⽬下,⽂档是这样解释wmi的:Windows Management Instrumentation (WMI) 是“基于 Web 的企业管理倡议 (WBEM)”(这是⼀个旨在建⽴在企业⽹络上访问和共享管理信息的标准的⼯业倡议)的 Microsoft 的实现。有关 WBEM 的详细信息,请访问 WBEM。XOXWMI 为公⽤信息模型 (CIM)(该数据模型描述存在于管理环境中的对象)提供完整的⽀持。WMI 包括对象储备库和 CIM 对象管理器,其中对象储备库是包含对象定义的数据库,对象管理器负责处理储备库中对象的收集和操作并从 WMI 提供程序(WMI provider) 收集信息。WMI 提供程序 (WMI provider) 在 WMI 和操作系统、应⽤程序以及其他系统的组件之间充当中介。例如,注册表提供程序从注册表中提供信息,⽽ SNMP 提供程序则从 SNMP 设备中提供数据和事件。提供程序提供关于其组件的信息,也可能提供⼀些⽅法,这些⽅法可以操作可设置的组件、属性,或者操作可能警告您在组件中要发⽣更改的事件。Windows ManagementInstrumentation 命令⾏ (WMIC) 向您提供了简单的 Windows Management Instrumentation (WMI) 命令⾏界⾯,这样即可利⽤ WMI来管理运⾏ Windows 的计算机。WMIC 与现有命令⾏程序和实⽤程序命令相互操作,且很容易通过脚本或其他⾯向管理的应⽤程序来扩展 WMIC。以上的这些说法太专业了,通俗⼀点讲就是是⼀个命令⾏程序,可以⽤它这个接⼝来实现在命令⾏下直接管理计算机软硬件等⽅⽅⾯⾯的操作,相当于批处理的api了。⼀、wmic的基本命令格式简析经常看⽹上的相关资料的话,读者可能会对wmic有⼀个基本的认识,不过看得越多估计会越糊涂,起码我是这样认为的。其实简单总结⼀下,命令格式就是 “wmic+全局开关+别名+wql语句+动词+副词(或者说是动词的参数)+动词开关”⽽已了。这个命令格式可以根据需要来写全或者写部份格式,我这⾥依次对格式的每个名称按⾃⼰的理解来解释⼀下,不过肯定完全不符合微软专家的定义,只是让⼤家弄懂它们⽽已。wmic就是,位于windows⽬录底下,是⼀个命令⾏程序。WMIC可以以两种模式执⾏:交互模式(Interactive mode)和⾮交互模式(Non-Interactive mode),经常使⽤Netsh命令⾏的读者应该⾮常熟悉这两种模式。交互模式。如果你在命令提⽰符下或通过"运⾏"菜单只输⼊WMIC,都将进⼊WMIC的交互模式,每当⼀个命令执⾏完毕后,系统还会返回到WMIC提⽰符下,如"Rootcli",交互模式通常在需要执⾏多个WMIC指令时使⽤。交互模式有时还会对⼀些敏感的操作要求确认,⽐如删除操作,最⼤限度地防⽌⽤户操作出现失误。⾮交互模式。⾮交互模式是指将WMIC指令直接作为WMIC的参数放在WMIC后⾯,当指令执⾏完毕后再返回到普通的命令提⽰符下,⽽不是进⼊到WMIC上下⽂环境中。WMIC的⾮交互模式主要⽤于批处理或者其他⼀些脚本⽂件中,我在本⽂中⼀律⽤●⾮交互模式●⽰例。开关有以下的全局开关,打⼊ /?可以看到的(这⾥我们先不讨论每个开关的具体意思,具体⽤法看⽰例):★/NAMESPACE 别名使⽤的名称空间路径。/ROLE 包含此别名定义的⾓⾊路径。/NODE 别名使⽤的服务器。/IMPLEVEL 客户模拟级别。/AUTHLEVEL 客户⾝份验证级别。/LOCALE 客户应⽤的语⾔识别符。/PRIVILEGES 启⽤或禁⽤所有特权。/TRACE 将调试信息输出到 stderr。/RECORD 将所有输⼊命令和输出写⼊⽇志。/INTERACTIVE 设置或重设交互模式。/FAILFAST 设置或重置 FailFast 模式。/USER 会话期间使⽤的⽤户。/PASSWORD ⽤于会话登录的密码。/OUTPUT 为输出重新定向指定模式。/APPEND 为输出重新定向指定模式。/AGGREGATE 设置或重置集合模式。/AUTHORITY Specifies the for the connection./?[:] Usage information.★⾄于别名啦,就是给主板、服务、系统、进程啦这些和计算机相关的东东起了个英⽂名,在 /?命令⾏下也可以看到。wql语句和我们平常⽤的注⼊时的sql语句的语法⼏乎是⼀模⼀样,甚⾄更简单。⼀般是where name="xxx" and 之类的,不过有时候要把name=“xxx"这样的格式换成"name='xxx'"或者是where(name='xxx')这样,反正正常情况下不⾏的话就换个写法。动词呢,就那么简单⼏个assoc、call、CREATE、DELETE、GET、LIST、SET,从英⽂名字上应当可以看出它们是⽤来⼲什么的。不过说实话,assoc我真的还没⽤到过。⾄于副词(动词的参数),就是得到⽤动词+它的参数得到对象的属性。像属于list动词的副词,就是显⽰个什么样的呀,例如显⽰详细状态或简要状态。动词开关就好⽐显⽰个横表格式的或者显⽰个竖表格式的或者输出个什么样格式的⽂件,或者是⼏秒来重复显⽰信息等等,有的动词并没有开关。⼆、⼀步⼀步来完成我们的wmic命令⾏wmic⾥有个别名是logicaldisk,就是对磁盘进⾏管理。我们先按照最简单的格式来写,在cmd命令⾏下输⼊●wmic logicaldisk list●(+别名+list动词),稍等⼀会⼉屏幕上会出现本地硬盘的各式各样的数据,看上去杂乱⽆章。这样⼦太不⽅便看了,我们来改写⼀下,改成●wmic logicaldisk list brief●,在list动词后加个brief参数,也就是brief副词,显⽰的就会很整齐,效果如下:★DeviceID brief FreeSpace ProviderName Size VolumeNameA: 2C: 3 2925694976 6805409792 WINXPD: 3 1117487104 1759936512 WORKE: 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●或者是●wmiclogicaldisk where(DriveType=3) list brief●,显⽰效果都是下边的样⼦:★DeviceID DriveType FreeSpace ProviderName Size VolumeNameC: 3 2925686784 6805409792 WINXPD: 3 1117487104 1759936512 WORK★但是上边的格式呢显⽰的我们还是不太满意,ProviderName不知是个什么东东也给显⽰出来了,我们只想要我们想要的东东,像卷标VolumeName之类的我们也不要它,再把语句改⼀下,换个get动词,命令改为●wmic logicaldisk where "DriveType=3" getDeviceID,Size,FreeSpace,Description,FileSystem●,返回信息如下:★DeviceID,Size,FreeSpace,Description,FileSystemDescription DeviceID FileSystem FreeSpace Size本地固定磁盘 C: FAT32 2925686784 6805409792本地固定磁盘 D: FAT 1117487104 1759936512★⾄于get动词后⾯跟的参数你可以先⽤list来查看⼀下就明⽩了。好了,这回可以得到我们想要的结果了。不过命令⾥的开关我们还没⽤到呢,加⼏个全局开关吧。先来加个/OUTPUT吧,让它把显⽰信息输出到⼀个⽂件中,命令如下:●wmic /output: logicaldiskwhere "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem●,这样⼀来刚才屏幕上返回的信息就到当前⽬录的⾥了。但是打开看看后,根本就像⼀个记事本⼀样,没有任何样式,看起来也不美观,我们给它指定⼀个样式,就要⽤到format这个动词开关了,命令改为●wmic /output: logicaldisk where "DriveType=3" getDeviceID,Size,FreeSpace,Description,FileSystem /format:htable●,这样⼀来⾥就花花绿绿的⽤表格显⽰我们本地磁盘的信息了。也许你要问,htable是什么东东,其实这是⼀个⽂件,你想要上边的什么格式,就可以在C:WINDOWSsystem32wbem这⾥找⼀个你想要的格式的⽂件名,具体有以下⼀些⽂件:★★还有⼈也许要问了,我只想显⽰c:盘的,不要其它盘的可以做到吗?当然可以,这就要⽤到wql语句的name这个变量了。你可以先⽤●wmic logicaldisk list Instance●看到name的具体名字,然后更改上边的wql语句。好啦,我们改⼀下,改成●wmic /output:gicaldisk where "name='c:'" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable或者wmic /output:gicaldisk 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: logicaldisk where "name='c:'" getDeviceID,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 /?、WMIClogicaldisk set /?这样仪次来查询⽤法。三、总结wmic是很强⼤的,像开2003的3389⼀句话就可以做到:●wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' callSetAllowTSConnections 1●。不过呢,这篇⽂章估计会有让观众上当受骗的感觉,⼀个wmic的磁盘命令写了这么长的篇幅,不过我想有了本⽂的基础,你研究wmic其它的别名像进程、服务、bios、主板呀,都会有⼀个切⼊点,具体的好的技巧如开3389等就要靠⼤家去研究发现了。补充:Windows WMIC命令详解rem 查看cpuwmic cpu list briefrem 查看物理内存wmic memphysical list briefrem 查看逻辑内存wmic memlogical list briefrem 查看缓存内存wmic memcache list briefrem 查看虚拟内存wmic pagefile list briefrem 查看⽹卡wmic nic list briefrem 查看⽹络协议wmic netprotocal list brief【例】将当前系统BIOS,CPU,主板等信息输出到⼀个HTML⽹页⽂件,命令如下:::得到系统信息.bat,运⾏bat⽂件即可::系统信息输出到HTML⽂件,查看帮助: wmic /?::wmic [系统参数名] list [brief|full] /format:hform >|>> [⽂件名]wmic bios list brief /format:hform > ic baseboard list brief /format:hform >>ic cpu list full /format:hform >>ic os list full /format:hform >>ic computersystem list brief /format:hform >>ic diskdrive list full /format:hform >>ic memlogical list full /format:hform >>--------------------------------------------------------------------------------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 服务操作参数管理。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1688380840a129401.html
评论列表(0条)