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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值