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):

相关推荐
半吊子全栈工匠3 小时前
性能优化之动态加载
windows
马立杰3 小时前
H3CNE-17-DHCP动态主机配置协议
网络·windows·h3cne
monstercl4 小时前
MySQL 8.4及以上版本压缩包安装 windows
windows·mysql
爱学习的大牛12314 小时前
Windows 服务程序实现鼠标模拟
windows·鼠标模拟
renhl25217 小时前
opengrok_windows_多工程环境搭建
windows
0xCC说逆向18 小时前
Windows图形界面(GUI)-QT-C/C++ - QT 窗口属性
c语言·开发语言·c++·windows·qt·mfc
来自外太空的鱼-张小张21 小时前
阿里云oss简单获取视频第一帧工具类
windows·阿里云·音视频
^@^lemon tea^@^1 天前
WPF 引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常 解决办法
windows·wpf·ocx控件开发错误
斯内科1 天前
C#使用WMI获取控制面板中安装的所有程序列表
开发语言·c#·wmi
hmywillstronger1 天前
【Grasshopper】【Python】点集排序:带索引的Z字形排序算法
windows·python·排序算法