Windows 命令 WMIC 使用详解

    WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持。在WMIC出现之前,如果要管理WMI系统,必须使用一些专门的WMI应用,例如SMS,或者使用WMI的脚本编程API,或者使用象CIM Studio之类的工具。如果不熟悉C++之类的编程语言或VBScript之类的脚本语言,或者不掌握WMI名称空间的基本知识,要用WMI管理系统是很困难的。WMIC改变了这种情况。

    WMIC比WMI简单、直观得多,这主要是由于使用了别名。别名机制获取用户在命令行上输入的一些简单命令,按照预定义的方式操作WMI名称空间,例如根据一个简单的WMIC别名Get命令构造出一个复杂的WMI查询语言(WQL)命令。从这个意义上看,别名是用户和名称空间之间一个简化操作的中间层。例如,如果在WMIC命令行上执行下面这个简单的WMIC命令,就可以获得用户帐户的基本信息。

    执行“wmic”命令启动WMIC命令行环境。这个命令可以在XP或.NETServer的标准命令行解释器(cmd.exe)、Telnet会话或“运行”对话框中执行。这些启动方法可以在本地使用,也可以通过.NET Server终端服务会话使用。


    第一次执行WMIC命令时,Windows首先要安装WMIC,然后显示出WMIC的命令行提示符。在WMIC命令行提示符上,命令以交互的方式执行。例如,执行下面的命令将关闭正在运行的Outlook:
process where name='outlook.exe' call terminate
命令运行结束后,WMIC命令行提示符重新出现。

wmic的运行方式:

在“运行”或dos窗口中中输入 wmic 进入,出现 wmic:root\cli> 时你就可以输入命令了

1、命令 /? 显示帮助信息

2、命令 process 显示所有的进程对应的应用程序的名称以及路径等相关信息

3、命令 process where name="cmd.exe" list full 显示指定进程程序cmd.exe详细信息

4、命令 process where name='cmd.exe' call terminate 关闭正在运行的cmd.exe进程或应用程序

5、命令 exit 是退出交互模式

键入wmic后出现 wmic:root\cli> 时你就可以输入命令了,如输入process显示所有的进程。不知道有什么命令时可以输入用 /? 来显示帮助。exit  是退出交互模式。具体帮助用法如下:

批处理的应用

@echo off
REM 声明采用 936 简体中文编码GBK
chcp 936


rem 查看当前电脑系统版本
cls
ver | find "6.1." > NUL &&  goto win7  
ver | find "6.2." > NUL &&  goto win8  
ver | find "6.3." > NUL &&  goto win8.1  
ver | find "10." > NUL &&  goto win10

:win7
@echo 当前系统为:win7
goto end
 
:win8
@echo 当前系统为:win8
goto end
 
:win8.1
@echo 当前系统为:win8.1
goto end
 
:win10
@echo 当前系统为:win10
goto end
 
@echo 不能获取当前操作系统版本
 
:end


echo 【查看当前电脑信息】
for /f "delims== tokens=2" %%i in ('wmic os get caption /value') do SET CAPTION=%%i
echo 当前操作系统为:%CAPTION%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic os get osarchitecture /value') do SET OSBIT=%%i
echo 系统类型:%OSBIT%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic os get csname /value') do SET CSNAME=%%i
echo 当前计算机名为:%CSNAME%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic cpu get name /value') do SET PROC=%%i
echo CPU型号:%PROC%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic computersystem get numberoflogicalprocessors /value') do SET PROCESSORNUM=%%i

echo CPU核心数:%PROCESSORNUM%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic bios get softwareelementid /value') do SET BIOSVER=%%i
echo BIOS版本号:%BIOSVER%

echo -----------------

set /a totalMem=16777216+1
for /f "skip=1" %%i in ('wmic os get TotalVisibleMemorySize') do (
    if %%i geq 0 set totalMem=%%i
)
rem 转换KB为GB单位
set /a memorySize=%totalMem%/1024/1024
echo 物理内存为: %memorySize% GB

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic bios get serialnumber /value') do SET SERVICETAG=%%i
echo 系统序列号:%SERVICETAG%

echo -----------------

for /f "delims== tokens=3" %%i in ('wmic computersystem get username /value') do SET USERNAME=%%i
echo 当前登录账户名称为:%USERNAME%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic path Win32_DesktopMonitor /value') do SET MONITOR=%%i
echo 即插即用监视器:%MONITOR%

echo -----------------

for /f "delims== tokens=2" %%i in ('WMIC path Win32_VideoController get Name /value') do SET GRAPHICCARD=%%i
echo 显示适配器:%GRAPHICCARD%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic sounddev get productname /value') do SET AUDIODEVICE=%%i
echo 声卡信息:%AUDIODEVICE%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic cdrom get caption /value') do SET CDROM=%%i
echo 光驱信息:%CDROM%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic path win32_pointingdevice get hardwaretype /value') do SET MOUSE=%%i
echo 鼠标接口:%MOUSE%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic path win32_keyboard get description /value') do SET KEYBOARD=%%i
echo 键盘接口:%KEYBOARD%

echo -----------------

echo 硬盘信息      文件类型	  剩余空间	盘符  总大小

wmic LOGICALDISK get name,filesystem,size,freespace,Description

echo -----------------


for /f "delims== tokens=2" %%i in ('wmic path Win32_Printer get Name /value') do SET Printer=%%i
echo 打印机:%Printer%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic nicconfig get dhcpserver /value') do SET DHCP=%%i
echo DHCP服务:%DHCP%

echo -----------------

for /f "delims== tokens=2" %%i in ('wmic ntdomain get dnsforestname /value') do SET DOMAIN=%%i
echo 域控制信息:%DOMAIN%

echo -----------------

for /f "delims== tokens=2" %%i in ('WMIC Path Win32_Battery Get status /value') do SET BATTERYSTATUS=%%i
echo 系统实例:%BATTERYSTATUS%

echo -----------------

::运行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


::更改用户administrator全名为admin
wmic USERACCOUNT where name="Administrator" set FullName="admin"
::更改用户名admin为admin00
wmic useraccount where "name='admin" call Rename admin00


echo.
echo.
echo.
pause

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值