`

wmic命令收集

 
阅读更多
wmic教程 命令收集

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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics