[玩转系统] 如何使用 WMI 事件跟踪 Active Directory 更改
作者:精品下载站 日期:2024-12-14 13:17:04 浏览:13 分类:玩电脑
如何使用 WMI 事件跟踪 Active Directory 更改
Active Directory 是许多组织的关键组件。包含数十万个不断变化的对象也会让人不知所措。幸运的是,您可以通过一些 PowerShell 专业知识和一点时间来跟踪 Active Directory 更改。
在本教程中,您将学习如何使用 WMI 事件来跟踪 Active Directory 更改并让您了解 Active Directory 对象的情况!
先决条件
本文将是一个实践教程。如果您想继续操作,请确保您具备以下条件:
- Active Directory 域 - 本教程将使用 Windows Server 2019,并将 Active Directory 和林功能级别设置为 2019,但运行 Windows 2008 R2 或更高版本的域控制器 (DC) 应该可以工作。本教程将使用名为 test.local 的域以及两个 DC(DC01 和 DC02)。
- 安装了 PowerShell 的已加入域的 Windows PC。本教程将使用 Windows 10 和 Windows PowerShell v5.1 或 PowerShell 7。
- PowerShell 活动目录模块。
- 作为域中域管理员组成员的用户帐户。
使用 WMI 查找 Active Directory 组
当 Active Directory 中的对象发生更改时,您必须先了解 WMI 事件将在其中显示并查询组成员的 WMI 类,然后才能收到通知。为此,在 DC 上:
1. 打开 PowerShell。
2. 运行Get-CimClass
连接到命名空间并查找命名空间中的所有可用类。在 CimClassName
列中,您将看到 ds_group
。此类列出了 Active Directory 中的所有组及其属性。
Get-CimClass -Namespace 'ROOT\Directory\LDAP'
3. 现在,运行 Get-CimInstance
查找 ds_group
类的所有实例,该类将返回每个组的 cn
属性。
Get-CimInstance -Namespace 'root\directory\ldap' -ClassName ds_group | Select-Object -Property DS_cn
创建 WMI 事件订阅
现在您已经知道在 WMI 中哪里可以找到组,下一步是设置 WMI 事件订阅以“侦听”对这些 WMI 实例的更改。要监视特定事件(例如对 Active Directory 组的更改),您必须订阅 WMI 事件。
您可以订阅许多不同类型的 WMI 事件,包括创建、删除和修改事件。在这种情况下,您需要知道 CIM 实例(AD 组)何时被修改。在这种情况下,您将使用名为 CIM_InstModification
的类。CIM_InstModification
类监视任何 CIM 实例的修改。
开发 WQL 查询
要设置 WMI 事件订阅,您必须首先开发 WQL 查询。 WQL 是一种专用于 WMI 的简单语言,允许您以类似 SQL 的语法查找 WMI 实例。在此示例中,您要查找的查询如下例所示。
以下 WQL 查询将查找修改与 DS_group
名称匹配的实例的所有事件。您还会注意到
within
运算符。该运算符是轮询间隔,告诉 Windows 每 10 秒检查一次新事件。
Select * from CIM_InstModification within 10 where TargetInstance ISA 'DS_group'
您还可以通过添加更多条件(例如将 AND TargetInstance.ds_cn='Enterprise Admins'
添加到 WQL 语句末尾)来查询对特定 AD 组的更改。
在 PowerShell 中创建 WMI 订阅
现在您已经制作了 WQL 查询,下一步是进入 PowerShell 并使用它来订阅事件。要做到这一点:
1. 在域控制器上打开 PowerShell。
2. 创建一个名为 $query
的变量,将您刚刚提出的查询指定为值。
$query = "Select * from CIM_InstModification within 10 where TargetInstance ISA 'DS_group'"
3. 使用 Register-CimInductionEvent
cmdlet 使用该查询创建订阅(注册事件)。以下命令使用查询注册名为 GroupMonitoring
的 WMI 订阅,以将结果限制为仅 ROOT\directory\LDAP
命名空间内的 DS_Group
修改事件。
Register-CimIndicationEvent -Query $query -SourceIdentifier 'GroupMonitoring' -MessageData 'Group Info Changed' -Namespace 'ROOT\directory\LDAP'
Register-CimInductionEvent
创建临时 WMI 事件订阅。当您关闭 PowerShell 控制台时,订阅将不再有效。使用永久事件订阅来长期监控 AD 组。
4. 现在,通过运行 Get-EventSubscriber
确认您已成功注册订阅,该操作应返回如下所示的对象。
读取 WMI 事件
Windows 现在应该监视所有 Active Directory 组的所有修改事件。为了测试这一点,我们现在将一个成员添加到一个组中,看看会发生什么。
假设您仍在 DC 上的 PowerShell 中:
1. 运行 Add-ADGroupMember
cmdlet 将用户添加到企业管理员组。以下示例添加名为User2的用户帐户。
大约 10 秒后,该事件应该会触发您设置先前的订阅。
Add-ADGroupMember -Identity 'Enterprise Admins' -Members User2
2. 要查找事件,请运行 Get-Event
cmdlet 来搜索所有新注册的事件。如果一切顺利,您应该会看到类似于以下屏幕截图的输出。在屏幕截图中,SourceInstance
是对象属性的当前值。 PreviousInstance
值是对象属性的前一个值。
(Get-Event).SourceEventArgs.newevent
3. 现在,缩小结果范围,仅显示当前警报值,如下所示。您现在将看到企业管理员组中当前组成员的列表。
(Get-Event).SourceEventArgs.newevent.SourceInstance | Select-Object -Property ds_member
如果您想获取更改发生之前的值,请查看 PreviousInstance
对象的 DS_Member
属性,如下所示。
(Get-Event).SourceEventArgs.newevent.PreviousInstance | select DS_member
结论
现在您已经知道如何设置 WMI 事件订阅来跟踪 Active Directory 更改,您可以使用此 PowerShell 代码并从中构建监视脚本。
看看您现在是否可以通过使用 New-WinEvent
cmdlet 将这些事件记录到 Windows 事件日志或使用 Send-MailMessage
发送电子邮件来构建监视工具!
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag