辉克's Blog

创造机会的人是勇者;等待机会的人是愚者

wmic命令详解

WMIC命令大全
/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>] 用法信息。</P><P>有关具体全局开关的信息,请输入:
switch-name /?</P><P>
当前角色有下列别名。:
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
服务操作参数管理。</P><P>有关具体别名的信息,请输入: alias /?</P><P>CLASS
– 按 ESC 键回到完整的 WMI 架构。
PATH – 按 ESC 键回到完整的 WMI 对象路径。
CONTEXT – 显示所有全局开关的状态。
QUIT/EXIT – 退出此程序。
—————————————
BIOS – 基本输入/输出服务 (BIOS) 管理
::查看bios版本型号
wmic bios get Manufacturer,Name

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
文章地址:http://qlj.sh.cn/system/20090430/wmic-command/
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

关于 WMIC 的使用
最佳操作
对为别名返回的特定实例使用 Where () 子句。
? Where() 子句必须包括 Where 子句以进行有效的 WQL 查询。只有复杂的条件才需要括号。请查看 WQL 语法的 WMI SDK。Where() 子句必须紧随在别名之后。例如: process where (processID>300) list brief
? 当 Where 子句是 Where NAME=’<value>’ 时,只提供值就足够了。例如: SERVICE CLIPSRV
代替:
SERVICE Where NAME=’CLIPSRV’
使用 /OUTPUT、/APPEND 和 /RECORD 命令重定向输出。
? 以 HTML 格式输出的命令(如 CLASS)通常将它们的输出定向到一个文件。然后可以查看该文件,以了解命令的结果。可以使用 /OUTPUT、/APPEND 和 /RECORD 命令重定向输出。
如果值包含特殊字符(短划线、斜杠或空格),则请用引号将值括起来。
对于大的域或数据库,请使用以下查询的方法
? ALIAS
WMIC ALIAS PROCESS LIST BRIEF
? USERACCOUNT
WMIC USERACCOUNT Where “Name=’PutUserNameHere’ and Domain=’PutDomainNameHere’”
? FSDIR
WMIC FSDIR Where Name=’c:\\WINDOWS’
? DATAFILE
WMIC DATAFILE Where Name=”c:\\boot.ini” WMIC DATAFILE Where “PATH=’\\windows\\’ and Extension=’exe’ and FileSize>’108032′” GET LastAccessed, LastModified, Name, FileSize
? NTEVENT
WMIC NTEVENT Where “LogFile=’system’ and Type>’0′” GET Message, TimeGenerated WMIC NTEVENT Where “LogFile=’system’ and Type>’0′” GET Message, TimeGenerated /FORMAT:htable >c:\MySystemEvents.htm
? 查询:
使用引号 “” 将 Where 表达式分开,而不用括号 ():
WMIC NTEVENT Where “LogFile=’system’ and Type>’4′”
[ 比较:WMIC NTEVENT Where (LogFile='system' and TYPE>4)
在这种情况下,命令行解释器将曲解 ">4)"
并试图将输出重定向到指定文件 "4)" ]
在交互模式下运行 WMIC
1.
单击“开始”,然后单击“运行”。
2.
键入:
WMIC,然后按 Enter。
3.
键入希望 WMIC 执行的别名、命令或全局开关。
注意
? 要执行该过程,您必须是本地计算机上 Administrators 组的成员,或者您必须被委派了适当的权限。如果计算机已加入某个域,则 Domain Admins 组的成员可能会执行该过程。详细信息,请参阅默认本地组和默认组。
? 在交互模式下使用完 WMIC 之后,可以使用 Exit 或 Quit 命令退出 WMIC。
? 有关 WMIC 命令的详细信息,请在命令提示符处键入 /?。
在非交互模式下运行 WMIC
1.
打开“命令提示符”。
2.
在命令提示符下,键入:
WMIC
和希望 WMIC 执行的命令、别名或全局开关。
3.
按 Enter。
注意
要执行该过程,您必须是本地计算机上 Administrators 组的成员,或者您必须被委派了适当的权限。如果计算机已加入某个域,则 Domain Admins 组的成员可能会执行该过程。作为安全性最佳操作,请考虑使用“运行方式”执行此过程。详细信息,请参阅默认本地组、默认组以及使用运行方式。
要打开命令提示符窗口,请单击“开始”,依次指向“所有程序”、“附件”,然后单击“命令提示符”。
在非交互式模式下,WMIC 在执行一个命令之后返回到命令提示符。
有关 WMIC 命令的详细信息,请在命令提示符处键入 WMIC /?。
WMIC 的安全性
有关安全模式的一般信息
只有本地 Administrators 组的用户才可以启动 WMIC。在任何从 WMIC 到 WMI 的调用中都会强制执行 WMI 安全访问模型。操作系统对于通过 WMI 执行的任何操作均强制实施操作系统级别的安全性。例如,您不能通过 WMI 访问您不能从 Windows 资源管理器访问的文件。
WMIC 是 WMI 的客户端,因此所有安全检查都在 WMI 组件内进行。在连接到远程计算机之前,组件使用 PING 功能验证输入的有效性(远程计算机状态)。
当 WMIC 在 Telnet、终端服务或相似会话中使用时,所有命令都将在发布该命令的用户环境中执行。
WMIC 允许对别名和 XSL 进行扩展。安全性是通过 NTFS 解决的,该文件系统对访问 WMIC 的文件的操作实施仅限管理员的凭据要求。
除方法参数以外,WMIC 还允许只通过 /NODE 开关进行数据输入。可以使用 @FileList 选项作为一个文本文件提供计算机节点的列表。文件以及其位置应由管理员进行保护,并且输入文件最好应从 WBEM 目录中读取。
用户权限
不需要特殊的用户权限即可运行 WMIC。含蓄地说,为了能够使用 WMIC,用户需要有对 WMIC 名称空间和两个注册表项(HKLM\Software\Microsoft\WBEM 和 HKLM\Software\Microsoft\WBEM\WMIC)的完全写入访问权。
身份验证和授权
当这些资源被打开时,系统将提供身份验证和授权。它们存储在安全的位置,并使用随机访问控制列表 (DACL) 验证客户端是否具有对它们进行访问的权限。它们完全依赖于分布式组件对象模型 (DCOM) 安全性以及 Windows 管理 (WINMGMT) 进行远程访问,提供所需要的用户名、密码和所请求的级别。可以使用 /AUTHLEVEL 开关保护 WMIC 网络通信的安全。在 Windows Server 2003 家族操作系统中,默认级别设置为 PKTPRIVACY,它提供数据包隐私性加密级别。可以使用 /AUTHLEVEL 开关修改身份验证级别。
示例:
WMIC /AUTHLEVEL:Pktprivacy /NODE:”testcomputer.microsoft.com” BIOS
配置数据
配置信息存储在注册表和 WMI 储备库中。注册表配置保存了有关架构的采用托管对象格式 (MOF) 编译的状态的时间戳和有效性。在 WMIC 的每一个会话开始时,将对此信息进行评估,当架构无效或已被一个用户更新时,WMIC 将更新 WMI 储备库。
杂项
WMIC 是一个功能强大的命令行工具,通过该工具,您可以很快地执行您有权限执行的任何任务。如果您不熟悉 WMI 环境,可以使用 /INTERACTIVE 开关为删除操作设置一个警告。例如:
WMI /INTERACTIVE:ON
下列命令在任何时候都可以使用:
CLASS 退出 WMIC 的默认别名模式并以 WMI 架构直接访问类。
PATH 退出 WMIC 的默认别名模式并以 WMI 架构直接访问实例。
CONTEXT 显示所有全局开关的当前值。
QUIT 退出 WMIC。
EXIT 退出 WMIC

WMIC在批处理的应用实例(转)
第一次使用WMI会自动安装,等待数秒即可正常使用。
wmic 获取硬盘固定分区盘符:
for /f “skip=1″ %%i in (‘wmic logicaldisk where “drivetype=3″ get name’) do @echo %%i
简要说明:
wmic + 欲操作的对象名+ where 从句(这是筛选条件)+ get + 对象的属性
这样的格式已经可以帮助我们获取很多东西了,大家可以具体参考
查看wmic对象: wmic /?
查看wmic对象有何可用属性: wmic 对象名称 get /? 例如 wmic process get /?
查看wmic对象某个属性的值: wmic 对象名称 get 对象某个属性 例如 wmic process get name
ps: 以上例子中的drivetype的值为2 表示可移动磁盘或软盘,值为3表示固定磁盘,值为5表示光驱。
wmic 获取进程名称、可执行路径、删除、创建指定进程
:
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 process get /? 查看所有可用的属性
wmic 操作远程计算机上的程序
在远程机器上创建新进程:(2003系统)
wmic /node:192.168.1.10 /user:administrator /password:123456 process call create cmd.exe
关闭本地计算机
wmic process call create shutdown.exe
重启远程计算机 (2003系统)
wmic /node:192.168.1.10/user:administrator /password:123456 process call create “shutdown.exe -r -f -m”
wmic 操作计算机名称和用户帐户
更改计算机名称
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<>C:\\WINDOWS\\windows\\explorer.exe’” delete
wmic 获取物理内存http://qlj.sh.cn/system/20090430/wmic-command/
wmic memlogical get TotalPhysicalMemory|find /i /v “t”
wmic 获取文件的创建、访问、修改时间 (tvzml纠正)
@echo off
for /f “skip=1 tokens=1,3,5 delims=. ” %%a in (‘wmic datafile where name^=”C:\\WINDOWS\\NOTEPAD.EXE” get CreationDate^,LastAccessed^,LastModified’) do set a=%%a & set b=%%b & set c=%%c
echo 文件名称: %WINDIR%\NOTEPAD.EXE
echo 创建时间: %a:~0,4%年%a:~4,2%月%a:~6,2%日, %a:~8,2%:%a:~10,2%:%a:~12,2%
echo 修改时间: %c:~0,4%年%c:~4,2%月%c:~6,2%日, %c:~8,2%:%c:~10,2%:%c:~12,2%
echo 访问时间: %b:~0,4%年%b:~4,2%月%b:~6,2%日, %b:~8,2%:%b:~10,2%:%b:~12,2%
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 获取屏幕分辨率
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
wmic 获取进程名称以及可执行路径:
wmic process get name,executablepath
wmic 删除指定进程(根据进程名称):
wmic process where name="qq.exe" call terminate
或者用
wmic process where name="qq.exe" delete
wmic process where HandleCount=32 call GetOwner
获取用户信息
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 where HandleCount!="0" delete /nointeractive
关闭本地计算机
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
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 CProgram FilesTencentQQQQ.exe
在远程机器上创建新进程:
wmic node192.168.1.10 useradministrator password123456 process call create cmd.exe
关闭本地计算机
wmic process call create shutdown.exe
重启远程计算机
wmic node192.168.1.10useradministrator password123456 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%windowsexplorer.exe' delete
wmic 获取物理内存
wmic memlogical get TotalPhysicalMemoryfind i v t
wmic 获取文件的创建、访问、修改时间
@echo off
for f skip=1 tokens=1,3,5 delims=. %%a in ('wmic datafile where name^=cwindowssystem32notepad.exe get CreationDate^,LastAccessed^,LastModified') do (
set a=%%a
set b=%%b
set c=%%c
echo 文件 cwindowssystem32notepad.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=Epagefile.sys,InitialSize=1024,MaximumSize=1024
wmic PageFileSet where name='Cpagefile.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=%%a1024
set a mm=%%b1024
echo 进程conime.exe现在占用内存:%m%K;最高占用内存:%mm%K
)
pause
远程打开计算机远程桌面
wmic node%pcname% USER%pcaccount% PATH win32_terminalservicesetting Where (__Class!=) CALL SetAllowTSConnections 1

检测是否插入U盘的批处理
@echo off

用WMIC的时候,有时候需要模糊查询,找了许久终于找到了参数,下面就是一个例子:
service where caption like '%wireless%' list

发表回复