WMI的查询语言来过滤审核特定的事件,一个事件过滤器接受一个WMI事件查询参数,同时EventFilter事件过滤器可以对Intrinsic Events (内部事件)和Extrinsic Events...(外部事件)进行事件查询。...,一般情况下,WMI为存储在WMI存储库中的对象创建内部事件,提供程序为动态类生成内部事件,如果没有可用的提供程序,WMI将会为动态类创建一个实例,以下为WMI用于报告内部事件的系统类。...2)永久消费者类实例注册在WMI命名空间中,一直有效直至注销(永久性的WMI事件是持久性驻留的,并且以SYSTEM权限运行,重启后仍然还在),永久事件使用者一直运行到其注册被显式取消,然后在 WMI 或系统重新启动时启动...\\root\\subscription")2.创建_EventFilter类的实例并使用其查询属性来存储您的WQL事件查询。
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。 一般来说,如果试图枚举系统中的线程。...需要先枚举系统中的进程,然后再枚举每个进程中的线程。而WMI给我们提供了一种比较简便的枚举线程信息的方法。...如何使用WMI枚举正在运行的线程的占用时间?...如何使用WMI枚举正在运行的线程的内核时间?...如何使用WMI枚举枚举正在运行的线程基础等级?
本文将讲解如何使用wmi事件订阅来进行横向移动。...关于wmi事件的横向移动 和大多数的横向移动手法一样,我们使用wmi事件进行横向移动时依旧要求我们有对目标机器的操作权限(或访问凭据),该技术可以实现无文件的效果,这也是该技术的优点之一。...而我们今天要说的则是使用wmi事件订阅进行横向移动。...事件消费者可以分为临时和永久两类,临时的事件消费者只在其运行期间关心特定事件并处理,永久消费者作为类的实例注册在WMI命名空间中,一直有效到它被注销。...,然后查询是否具有该进程,有的话,则触发。
介绍了这么多基础知识了,那如何查询事件通知呢?在《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中,我们讲解WMI查询静态数据时,我们可以使用同步查询和半同步查询两种查询方式。...而本文主要讲解的查询事件通知,它是动态发生的。即可能我查询的即刻,那个事件还未发生,我们需要等待一段时间,才会在事件发生后接收到通知。...这就意味着查询事件通知,是不可能使用同步查询方式,我们可以选择异步查询或者半同步查询方式。 ...临时事件使用者是我们未来最早接触到的一个使用者,顾名思义,它是指WMI接收事件通知的生命周期和发起查询的应用程序一致。WMI包含一个统一的接口用来向客户端应用程序提供WMI事件。 ...对于如何编写WMI事件提供者,我们会在之后介绍。 我们再回到查询事件通知,首先我们要编写一个异步事件查询类。
之前介绍的基本都是查询静态数据,而本文将要介绍非常有意思的事件接收功能。...,我们可能觉得有用的是进程名(Name)、进程启动命令(CommandLine)、创建时间(CreationDate)、进程所在路径(ExecutablePath),进程ID(ProcessId )、线程数...的确是个强大的功能,如果一个进程内部集成一个WMI查询器,那么很多复杂的功能就会变成简单的WQL语句。...当然它被使用最广的还是远程查询,我们可能在之后的章节中介绍这块的使用。 ...技术介绍和应用——WMI概述》结尾。
通常,通过 WMI 事件订阅的持久性需要创建以下三个类,它们用于存储有效负载或任意命令,指定将触发有效负载的事件并将两个类(__EventConsumer &__EventFilter)关联起来,以便执行和触发绑定一起...通过 WMI 事件订阅的持久性可以通过使用常见的 Microsoft 实用程序来实现,因此无需将文件放入磁盘。...PowerShell PowerShell 包含可以查询 WMI 对象并将信息检索回控制台的 cmdlet。以下命令可用于验证是否已创建任意事件以及恶意负载/命令是否存储在 WMI 存储库中。...该脚本使用 WMI 存储库来存储恶意命令,该命令将执行任意脚本、可执行文件或任何其他带有参数的命令。以下函数将检索所有活动的 WMI 事件对象。...事件,并自动将修改的 WMI 对象的结果返回到控制台屏幕上以供验证。
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。 ...以下内容将介绍如何使用WMI查询桌面的相关信息。(转载请指明出于breaksoftware的csdn博客) 如何使用WMI枚举所有的桌面?...如何使用WMI查询光标闪烁的时间间隔时间?...如何使用WMI查询桌面图标下的文字字体大小?...如何使用WMI查询桌面的背景图路径?
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。 如何使用WMI查询所有驱动信息?...如何使用WMI查询指定驱动服务是否可以暂停?...如何使用WMI查询指定驱动服务是否可以终止?...如何使用WMI查询指定驱动服务的状态?...如何使用WMI查询指定驱动服务的启动方式?
WMI允许通过编程方式查询系统信息、监视性能、执行管理任务等。它提供了一种统一的方式来访问和管理Windows操作系统的各个方面,而无需了解底层实现细节。...通过WMI,可以使用各种编程语言(如C#、VBScript、PowerShell等)来执行诸如查询系统信息、监控性能、配置系统设置等任务。...当需要通过WMI编程提取参数时,我们就需要使用WQL(Windows Management Instrumentation Query Language)它是一种查询语言,专门用于查询Windows Management...Instrumentation (WMI)数据。...WMI 是Windows操作系统中用于管理和监视的框架,而WQL则是用于与WMI进行交互的查询语言。
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。...如何使用WMI获取本地时间? SELECT Year,Month,Day,Hour,Minute,Second FROM Win32_LocalTime ? 如何使用WMI获取格林威治时间?...如何使用WMI获取当前时间在所属月中属于第几个星期? SELECT WeekInMonth FROM Win32_LocalTime ? 如何使用WMI获取当前时间是星期几?...工程源码见《WMI技术介绍和应用——WMI概述》结尾。
——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。...如何使用WMI枚举系统中的服务? SELECT * FROM Win32_Service 我们以Application Experience服务为例,介绍各对应关系。 ?...如何使用WMI查询指定服务是否已经开启? SELECT State FROM Win32_Service WHERE Name = 'AeLookupSvc' ?...如何使用WMI查询指定服务对应的进程ID? SELECT ProcessID FROM Win32_Service WHERE Name = 'AeLookupSvc' ? ...工程源码见《WMI技术介绍和应用——WMI概述》结尾。
查询BIOS信息 如何使用WMI查询BIOS的序列号? SELECT SerialNumber FROM Win32_BIOS ? 如何使用WMI查询BIOS的厂商?...如何使用WMI查询内存信息? SELECT * FROM Win32_MemoryDevice ? 查询显示器信息 如何使用WMI查询显示器的分辨率?...查询CPU信息 如何使用WMI查询CPU的序列号? SELECT ProcessorId FROM Win32_Processor ? 如何使用WMI查询CPU的名称?...这个数据说明T9400是双核双线程CPU。 如何使用WMI判断当前系统是32位系统还是64位系统?...至此,使用WMI查询的内容就讲完了。之后我将讲解如何使用WMI监听事件,这也是个非常强大和有趣的功能,我们拭目以待吧。 工程源码见《WMI技术介绍和应用——WMI概述》结尾。
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。...如果我们想知道本次电脑的启动方式,就可以使用这个方法查询到。同时,我们可以由此推断,在安全模式下,WMI也是可以使用的。 如何使用WMI查询当前系统所属的域?...如果当前系统不在任何域中,则这个查询将返回工作组(WorkGroup)名字。那怎么辨别呢,我们看下面一个查询。 如何使用WMI查询当前系统是否属于某个域?...如果通过对PartOfDomain的查询得出FALSE的答案,则可以查询Workgroup字段,查看该系统属于哪个工作组。 如何使用WMI查询当前系统属于域或工作组中属于什么角色?...如何使用WMI查询是否设置了键盘密码(Keyboard Password)?
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。 我们可以通过系统属性查看当前系统和当前用户的环境变量。...如何使用WMI枚举所有环境变量的信息?...如何使用WMI获取所有系统环境变量的值? SystemVariable属性标识该环境变量是系统变量还是用户环境变量。...如何使用WMI获取指定环境变量的值? 我们以系统环境变量中名字为TEMP的环境变量为例,来获取其对应的值。...工程源码见《WMI技术介绍和应用——WMI概述》结尾。
管理对象的信息查询和方法访问 在这一节内容,我们将通过几个实例来学习如何查询管理对象信息和访问管理对象提供的方法,这一部分内容将使用到我们在前面讲述到的 System.Management 命名空间中的相关类对象...管理对象的信息查询 管理对象的信息查询有两种方式,一种是直接枚举管理对象的各种属性,而获取我们感兴趣的数据;一种方法是通过 SQL 查询语句的方式来过滤冗余的数据,而得到感兴趣的数据。...上面访问的方法其实很简单,我们再看看如何通过 SQL 查询的方式来访问管理对象的数据。以下的例子是以 win32_Process管理对象为例。...创建一个进程,需要调用 Win32_Process WMI对象的Create方法。...由于WMI对象是如此之多,每个被管理的WMI对象的公开的方法又是不同的,InvokeMethod()方法是如何能区分这些不同的WMI对象以及WMI对象不同的公开方法,因为方法的不同就意味这参数不一样,因此我们还得知道
创建 CreateEvent 销毁 CloseHandle 事件变为有信号(可以使用信号) SetEvent 事件变为无信号(不可以使用信号) ResetEvent 事件的创建 HANDLECreateEvent...打个小小比方,手动置位事件相当于教室门,教室门一旦打开(被触发),所以有人都可以进入直到老师去关上教室门(事件变成未触发)。...自动置位事件就相当于医院里拍X光的房间门,门打开后只能进入一个人,这个人进去后会将门关上,其它人不能进入除非门重新被打开(事件重新被触发)。 第三个参数表示事件的初始状态,传入TRUR表示已触发。...第四个参数表示事件的名称,传入NULL表示匿名事件。...SetEvent 函数功能:触发事件 函数原型:BOOLSetEvent(HANDLEhEvent); 函数说明:每次触发后,必有一个或多个处于等待状态下的线程变成可调度状态。
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。本节只是列出了WQL语句,具体使用参看前面的例子。 ...如何使用WMI判断指定文件夹是否有存档属性?...如何使用WMI获取指定文件夹的创建时间?...如何使用WMI判断指定文件夹是否可读?...工程源码见《WMI技术介绍和应用——WMI概述》结尾。
在《WMI技术介绍和应用——VC开发WMI应用的基本步骤》文中,我们介绍了VC使用WMI技术的基本框架。本节我将讲解封装和实现一个用于半同步查询WMI的类。...(转载请指明出于breaksoftware的csdn博客) 我曾思考过如何编写一个比较有用的类,因为不同平台上WMI的查询结果集是不同的,很难做个通用的类。...当我们调用一个半同步操作后,函数内部会启动线程去执行查询工作,之后会立即返回到我们的调用处。...当半同步内部线程查询到并封装完一个对象后,便会通知我们外面枚举结果的函数,告诉我们:一个结果准备好了,你可以使用了。这个相当于将合并结果集的过程去掉。...在之前对半同步的介绍中,我们说道:半同步函数启动的线程需要查询和封装下一个结果,其实这个可以看成是个异步操作,于是枚举结果这边需要等待那个实际查询的线程完成一个结果。我给此参数设置为“一直等待”。
slave的io线程将master-binlog日志内容转为从服务器的本地文件,sql线程将relaylog中的事件解析,使从服务器和主服务器保持数据的一致性。...二.查询有哪些二进制文件,大小,是否加密/事件详情show binary logs;查询日志事件from:开始读取的字节位置(pos)show binlog events in 'binlog.000025...' from 4 limit 3\G;图片由此可见,show binlog events 无法看到感兴趣的事件是从哪里开始的以及详情,可以借助mysqlbinlog来查看shell> mysqlbinlog
本文使用了《WMI技术介绍和应用——使用VC编写一个半同步查询WMI服务的类》中代码做为基础。...查询到指定名字的组账号的SID。 如何使用WMI枚举本地用户信息? SELECT * FROM Win32_UserAccount ? 如何使用WMI查询指定账号是否启用?...如何使用WMI查询指定账号是否需要密码?...如何使用WMI查询指定账号密码是否过期? SELECT PasswordExpires FROM Win32_UserAccount WHERE Name = 'Administrator' ?...如何使用WMI查询指定账号的SID? SELECT SID FROM Win32_UserAccount WHERE Name = 'Administrator' ?
领取专属 10元无门槛券
手把手带您无忧上云