首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows WMI 详解之WMI事件

WMI查询语言来过滤审核特定的事件,一个事件过滤器接受一个WMI事件查询参数,同时EventFilter事件过滤器可以对Intrinsic Events (内部事件)和Extrinsic Events...(外部事件)进行事件查询。...2)Extrinsic Events外部事件是非系统类预定义事件WMI使外部事件提供程序直接定义描述事件事件类(例如:当计算机切换到待机模式的事件为外部事件时),内部事件相比较而言,外部事件能够及时响应触发...2)永久消费者类实例注册在WMI命名空间中,一直有效直至注销(永久性的WMI事件是持久性驻留的,并且以SYSTEM权限运行,重启后仍然还在),永久事件使用者一直运行到其注册被显式取消,然后在 WMI 或系统重新启动时启动...\\root\\subscription")2.创建_EventFilter类的实例并使用查询属性来存储您的WQL事件查询

23410

PowerShell 使用 WMI 获取信息 获取 WMI 类显示 WMI 类的信息

在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell 拿到...WMI 类里面的属性 在 Windows 系统通过 Windows Management Instrumentation (WMI) 统一管理系统的配置,在 PowerShell 能使用 WMI 的功能进行获取系统...很少有人知道 WMI 里面包含了多少可以使用的类,包括我之前写的很多博客,实际上也只是里面的很少,通过下面的例子告诉大家如何获取设备里面包含的类 获取 WMI 类 在使用 WMI 之前需要知道 WMI...类的信息 从上面列出的任意一个 WMI 类,可以使用下面代码显示这个类里面的属性 PS> Get-WmiObject -Class Win32_OperatingSystem SystemDirectory...SerialNumber : 00331-10000-00001-AA523 Version : 10.0.17763 这里的输出只是简要的信息,没有包含所有的属性,如果想输出所有的属性,可以使用下面代码

1.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

WMI使用技巧集

查询应用程序数据(使用对象关系的遍历和查询)。  " 执行无缝的本地或远程管理操作。 ...WMI 结构由以下三层组成:  " 客户端  使用 WMI 执行操作(例如,读取管理详细信息、配置系统和预订事件)的软件组件。 ..." 对象管理器  提供程序客户端之间的中间装置,它提供一些关键服务,如标准事件发布和预订、事件筛选、查询引擎等。 ..." ManagementEventWatcher:用于预订来自 WMI 的事件通知。  " ManagementQuery:用作所有查询类的基础。 ...请参见 使用 WMI 管理应用程序 | 检索管理对象的集合 | 查询管理信息 | 预订和使用管理事件 | 执行管理对象的方法 | 远程处理和连接选项 | 使用强类型对象 获取CPU序列号代码 string

77820

WMI技术介绍和应用——事件通知

介绍了这么多基础知识了,那如何查询事件通知呢?在《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中,我们讲解WMI查询静态数据时,我们可以使用同步查询和半同步查询两种查询方式。...这就意味着查询事件通知,是不可能使用同步查询方式,我们可以选择异步查询或者半同步查询方式。        ...作为查询的载体——事件使用者(Event Consumers),也是分为两种:临时事件使用者和永久事件使用者。        ...临时事件使用者是我们未来最早接触到的一个使用者,顾名思义,它是指WMI接收事件通知的生命周期和发起查询的应用程序一致。WMI包含一个统一的接口用来向客户端应用程序提供WMI事件。        ...永久事件使用者是一种更复杂的使用者——它是一个COM对象,用于持续接收WMI事件通知。它使用一些现有的对象和过滤器去获取WMI事件。我们可以设置一些WMI对象和过滤器去获取WMI事件

1.1K20

WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类

在《WMI技术介绍和应用——VC开发WMI应用的基本步骤》文中,我们介绍了VC使用WMI技术的基本框架。本节我将讲解封装和实现一个用于半同步查询WMI的类。...(转载请指明出于breaksoftware的csdn博客)         我曾思考过如何编写一个比较有用的类,因为不同平台上WMI查询结果集是不同的,很难做个通用的类。...于是,我使用了最简单的方法——遍历返回结果。...当半同步内部线程查询到并封装完一个对象后,便会通知我们外面枚举结果的函数,告诉我们:一个结果准备好了,你可以使用了。这个相当于将合并结果集的过程去掉。...我会之后若干节,结合实际应用场景,利用这个框架,讲解WMI的实际应用。         工程源码见《WMI技术介绍和应用——WMI概述》结尾。

79220

横向移动 - WMI使用

WMI 自从 PsExec 在内网中被严格监控后,越来越多的反病毒厂商将 PsExec 加入了黑名单,于是黑客们渐渐开始使用 WMI 进行横向移动。...通过渗透测试发现,在使用 wmiexec 进行横向移动时,windows 操作系统默认不会将 WMI 的操作记录在日志中。因此很多 APT 开始使用 WMI 进行攻击。...WMI wmic ---- 使用目标系统的 cmd.exe 执行一条命令,并将结果保存在 C 盘的 ip.txt 文件中: wmic /node:192.168.3.21 /user:god\Administrator...我们可以通过建立 IPC$(2008域用户-->2008域管),使用 type 命令读取执行结果: # 建立IPC$ net use \\192.168.3.21 /u:god\administrator...此外 wmic 命令没有回显,需要使用 ipc$ 和 type 命令来读取信息。 PS:wmic 执行的是一些恶意文件程序,那么将不会留下攻击日志。

2.1K30

CC++ 运用WMI接口查询系统信息

通过WMI,可以使用各种编程语言(如C#、VBScript、PowerShell等)来执行诸如查询系统信息、监控性能、配置系统设置等任务。...当需要通过WMI编程提取参数时,我们就需要使用WQL(Windows Management Instrumentation Query Language)它是一种查询语言,专门用于查询Windows Management...WMI 是Windows操作系统中用于管理和监视的框架,而WQL则是用于WMI进行交互的查询语言。...),使用WQL可以执行各种查询来检索关于计算机系统、硬件、软件和其他管理信息的数据。...为了让读者更加方便的使用查询功能,此处我封装了一个SelectQuerySQL查询函数,该函数需要传入特定的查询语句,特定的查询字段以及返回值缓冲区,此时只需要读取缓冲区内的数据即可得到查询结果。

16850

WMI攻击安全防御

每个WMI 对象都是代表着获取各种操作系统信息进行相关操作的类实例,以ROOT\CIMV2 作为默认的命名空间,CIM为数据库,并以WQL 查询语句用于查询 WMI 对象实例、类和命名空间。...“ROOT” -Class __NAMESPACE 2、Wmic 例如:wmic/NAMESPACE:"\\root\CIMV2" PATH Win32_OperatingSystem WMI事件 WMI...事件会创建一个查询请求,请求中定义了我们需要执行的操作,一旦事件发生就会执行我们定义的操作,支持两种事件。...(以system权限运行,且重启保持不变) 持久事件后门 利用持久事件来做后门(创建需要管理员权限)需要三个部分。...1、事件过滤器(Filter):用来定义触发的条件,包括系统启动、特定程序执行、特定时间间隔等,存储在ROOT\subscription的实例__ EventFilter对象中,多数事件使用WQL WITHIN

90730

WMI技术介绍和应用——查询系统信息

本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。...如果我们想知道本次电脑的启动方式,就可以使用这个方法查询到。同时,我们可以由此推断,在安全模式下,WMI也是可以使用的。 如何使用WMI查询当前系统所属的域?...如果当前系统不在任何域中,则这个查询将返回工作组(WorkGroup)名字。那怎么辨别呢,我们看下面一个查询。 如何使用WMI查询当前系统是否属于某个域?...如果通过对PartOfDomain的查询得出FALSE的答案,则可以查询Workgroup字段,查看该系统属于哪个工作组。 如何使用WMI查询当前系统属于域或工作组中属于什么角色?...如何使用WMI查询是否设置了键盘密码(Keyboard Password)?

1.3K30

PowerShell 使用 WMI 获取信息

在 PowerShell 可以很容易使用 WMI 拿到系统的信息,如果有关注我的网站,就会发现我写了很多通过 WMI 拿到系统的显卡,系统安装的软件等方法,本文告诉大家如果通过 PowerShell 拿到...WMI 类里面的属性 在 Windows 系统通过 Windows Management Instrumentation (WMI) 统一管理系统的配置,在 PowerShell 能使用 WMI 的功能进行获取系统...很少有人知道 WMI 里面包含了多少可以使用的类,包括我之前写的很多博客,实际上也只是里面的很少,通过下面的例子告诉大家如何获取设备里面包含的类 获取 WMI 类 在使用 WMI 之前需要知道 WMI...类的信息 从上面列出的任意一个 WMI 类,可以使用下面代码显示这个类里面的属性 PS> Get-WmiObject -Class Win32_OperatingSystem SystemDirectory...WMI 获取系统安装的驱动 PowerShell 通过 WMI 获取系统服务 PowerShell 通过 WMI 获取补丁 PowerShell 通过 WMI 获取系统安装软件 Getting

63910
领券