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 小时前
C语言结构体
c语言·windows·microsoft
非凡ghost7 小时前
Hard Disk Sentinel(固态硬盘监控) 多语便携版
windows·sentinel·软件需求
btyzadt7 小时前
计算机域与工作组详解
运维·windows·计算机
sukalot11 小时前
windows显示驱动开发-调试间接显示驱动程序(三)
windows·驱动开发
清静诗意19 小时前
Windows 11 WSL2 迁移到非系统盘(E 盘)教程
windows·wsl
王小义笔记19 小时前
windows电脑如何执行openssl rand命令
windows·openssl
私人珍藏库20 小时前
[Windows] 3D软件 Blender 5.0 alpha版
windows·3d·建模
努力还债的学术吗喽1 天前
pycharm找不到Tencent Cloud CodeBuddy如何安装[windows]?pycharm插件市场找不到插件如何安装?
ide·windows·pycharm·插件·plugin·codebuddy
两千次1 天前
写csv测试
服务器·数据库·windows
安当加密1 天前
SLA操作系统双因素认证实现Windows远程桌面OTP双因子安全登录—从零搭建企业级RDP安全加固体系
windows·安全