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

相关推荐
水饺编程2 分钟前
第4章,[标签 Win32] :绘制信息结构
c语言·c++·windows·visual studio
南 阳8 分钟前
Python从入门到精通day10
linux·windows·python
未来龙皇小蓝10 分钟前
策略模式:Spring Bean策略与枚举 Lambda策略
java·windows·spring boot·spring·策略模式
玖釉-22 分钟前
[Vulkan 学习之路] 29 - 加载模型 (Loading Models)
c++·windows·图形渲染
逐浪CMS发哥40 分钟前
windows删除字体缓存(即删除用户目录下的字体文件)
windows·缓存
xb113244 分钟前
Winforms开发——数据绑定
windows
洲星河ZXH1 小时前
Java,泛型
java·开发语言·windows
Qiuner1 小时前
Windows安装Dokcer Desktop与汉化
windows·docker·架构
Bruce_Liuxiaowei2 小时前
解决 PowerShell 模块加载无响应问题的实用指南——Invoke-Obfuscation为例
windows·网络安全·内网渗透
Lw老王要学习12 小时前
Windows基础篇第一章_01VMware虚拟机安装window10
运维·windows·虚拟机