Windows Management Instrumentation (WMI) 的使用---一些系统接口的替代者

参考:

1,https://learn.microsoft.com/zh-cn/windows/win32/wmisdk/about-wmi

2,wmi编程示例

3,wmi对象类别

wmi介绍及原理请参考上面链接内容。之前在一些样本里面看到了类似于sql的字符串,一直不太清楚那些是做什么的。哪些语句是wql(大概就是windows系统自己的查询语句),通过执行这些特定的查询语句,可以获取或修改许多系统相关的信息。比如说查询系统中当前运行的进程,系统中服务信息等;之前这些操作一般通过系统底层的api(CreateService,OpenProcess等)来获取。在一些情况下,可以考虑替换使用wmi来实现;用来做一些运行环境检查(虚拟机,杀毒软件等)。

下面通过powershell中演示wmi的一些基本操作:

命令:Get-WmiObject Win32_Process ;获取当前运行的进程数据,部分如下图:

命令:Get-WmiObject Win32_Service; 来获取系统服务列表,详细信息包括服务名称等,部分如下图:

通过上面的截图可以看到,查询一个类(class)的信息,会有多个字段返回,就像sql里面的表(table)。

通过c++调wmi相关接口获取系统服务相关信息,部分如下图:

通过wmi禁用/启用网卡,部分如下图(详细见参考2):

相关推荐
Icoolkj15 分钟前
在 Windows 系统上升级 Node.js
windows·node.js
长沙火山2 小时前
9.ArkUI List的介绍和使用
数据结构·windows·list
donglxd6 小时前
老电脑优化全知道(包括软件和硬件优化)
运维·windows·系统安全
ZXF-BW11 小时前
联想笔记本电脑在Windows下通过联想驱动实现风扇控制
windows·电脑·联想·风扇
csdn_aspnet12 小时前
如何在 Windows 10 中使用 WSL 和 Debian 安装 Postgresql 和 Postgis
windows·postgresql·debian
九鼎科技-Leo13 小时前
写windows服务日志-.net4.5.2-定时修改数据库中某些参数
数据库·windows·.net
扛枪的书生1 天前
AD 侦查-MSRPC
windows·渗透·kali·提权·域渗透
程序员Bears1 天前
IntelliJ IDEA 2025系列通用软件安装教程(Windows版)
ide·windows·pycharm·webstorm
CHANG_THE_WORLD1 天前
Windows DirectWrite接口 遍历字体信息
windows
只可远观1 天前
Flutter Dart 集合类型List Set Map详解军 以及循环语句 forEaclh map where any every
windows·flutter·list