[玩转系统] 使用 PowerShell 搜索 Active Directory 日志
作者:精品下载站 日期:2024-12-14 08:01:41 浏览:14 分类:玩电脑
使用 PowerShell 搜索 Active Directory 日志
过去几周,我一直在研究 Active Directory 并使用 PowerShell 自动执行管理任务。如果您返回一两页帖子,您会看到我分享的一些脚本和函数。今天,我想解决最近评论中出现的与跟踪 Active Directory 更改相关的问题。一个合乎逻辑的问题是“谁做出了改变?”。我还想知道“他们改变了什么?”仅靠 PowerShell 无法获得所有这些答案。如果您运行任何规模合适的 Active Directory 基础设施,我希望您投资企业级管理工具。我分享的代码适合那些别无选择只能做自己事情的小商店。或者在您需要填补空白并解决短期问题的情况下。
事件日志挖掘
要获取有关谁在 Active Directory 中进行更改的信息,您必须深入研究事件日志。具体来说,您需要查询安全事件日志。更具体地说,您需要查询可以写入 Active Directory 的域控制器上的安全事件日志。当管理员在 DOM1 上启用用户帐户时,会在安全事件日志中创建一个条目。显然,您不会在 DOM2 上的安全事件日志中看到更改。
我的前提以及我将向您展示的代码假定 Windows 服务器上的默认事件日志设置。如果您要转发日志或使用第三方解决方案管理日志,则在查看我的代码时需要考虑到这一点。我要向您展示的信息位于安全事件日志中,并且是特定于服务器的。如何管理这些日志取决于您。
在我深入挖掘之前,先做一个简短的警告。每个组织都有自己的事件日志管理政策和程序。仅当信息尚未从安全事件日志中刷新时,您才能查询与 Active Directory 相关的更改。这意味着您可能需要确保日志文件足够大以满足您的需求。在我的测试域中,我运行此命令将大小增加到 1GB。
limit-eventlog -LogName security -ComputerName dom2,dom1 -MaximumSize 1024MB
用户管理事件
我将重点关注用户管理事件。每种类型的事件都与一个事件 ID 相关联。这是我使用的一个作弊哈希表。
# a hashtable of user management event IDs for the Security event log
$ADEvent = @{
UserChanged = 4738
UserCreated = 4720
UserDeleted = 4726
UserEnabled = 4722
UserDisabled = 4725
}
当您管理 AD 用户帐户时,您可能会获得同一活动的多个日志条目。例如,如果您创建一个用户帐户并启用它,您很可能会看到 UserCreated 和 UserEnabled 事件。可能也是 UserChanged 。记住这一点。
要查询事件日志,我建议您学习如何使用 Get-WinEvent。它提供了更多的查询灵活性,速度更快一点(我认为),当您使用 PowerShell 7 时,它是您拥有的唯一工具。我希望您能够阅读帮助和示例。同时,这是一个示例。
Get-WinEvent -FilterHashtable @{Logname = 'Security';ID=4720;Starttime="2/1/2021"} -ComputerName dom1
这是查询 DOM1 上自 2021 年 2 月 1 日以来记录的所有用户创建事件。
让我们深入了解消息详细信息。
事件日志条目将显示主题、负责活动的帐户和目标。在本例中,它看起来像 Company\Administrator 创建了 Company\L.Kuja。我不知道该帐户是在哪里创建的,但我始终可以使用 Get-ADUser 进行查找。
在介绍这一点的同时,我还想指出属性列表。修改用户帐户时,这些是事件日志中捕获的唯一属性。如果我更改用户的部门或职位,安全事件日志不会捕获该信息。如果这种审计跟踪对您很重要,这就是您寻求第三方管理产品的原因。
获取 ADUserAudit
考虑到这些限制,我编写了一个名为 Get-ADUserAudit 的 PowerShell 函数。它具有参数,用于在一个或多个域控制器上创建搜索,以查找自给定时间以来记录的不同类型的用户管理事件。
Get-ADUserAudit -event created,deleted -since "2/1/2021"
默认行为是搜索所有副本域控制器。
该函数将自定义对象写入具有默认自定义格式视图的管道。让我简要解释一下输出。 DomainController、Since 和 EventType 属性应该是不言而喻的。 Targets 属性是为特定事件标识的所有用户帐户的集合。 TargetCount 是查看用户帐户数量的快速方法。换句话说,自 2 月 1 日以来,在 DOM1 上创建(或至少登录)了 5 个用户帐户。管理员显示与事件关联的所有管理员帐户。因此在同一时期,Administrator、AprilS 和 ArtD 创建了帐户。结果不会告诉您哪个管理员创建了哪个用户帐户。您必须深入研究事件日志才能获取该信息。
当然,您可以根据需要自定义结果。
Get-ADUserAudit -event created,deleted,enabled,disabled -outvariable a | sort-object eventtype | format-table -GroupBy eventtype -Property since,domaincontroller,targetcount
或者这是总结事件的一种方法。
$a | group-object eventtype -ov b | select-object @{Name="Since";Expression={$a[0].Since}},Name,@{Name="Total";Expression = { ($_.group.targetcount | measure-object -sum).sum}}
$A 是我之前的命令保存的结果。
如果这是我想经常运行的东西,我会创建一个控制脚本来节省一些输入。我什至可以更进一步,因为我无法控制自己,并将其设置为计划作业来创建 HTML 版本并通过电子邮件发送。
代码在哪里?
如果您想了解我是如何完成所有这些工作的,或者获取代码以便您自己尝试一下,您可以从此 Github gist 下载文件。与此相关的是,您可能还对 Convert-EventLogRecord 命令感兴趣,它是 PSScriptTools 模块的一部分。此命令可以更轻松地从事件日志记录中解析出信息。
Get-WinEvent -FilterHashtable @{Logname = 'Security';ID=4720;Starttime="2/1/2021"} -ComputerName dom2 |
Convert-EventLogRecord |
Format-table -GroupBy Computername -Property ID,TimeCreated,
@{Name="Admin";Expression={"$($_.SubjectDomainName)$($_.SubjectUsername)"}},
@{Name="Account";Expression = { (Get-ADuser $_.samaccountname).DistinguishedName }}
现在我可以清楚地看到哪个管理员创建了哪个帐户。
让我知道您的想法或者这些内容是否有帮助。
猜你还喜欢
- 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