当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell:将某人添加到管理员组时通知我

作者:精品下载站 日期:2024-12-14 07:23:21 浏览:15 分类:玩电脑

PowerShell:将某人添加到管理员组时通知我


当群组成员资格发生变化时,您会收到通知吗?不?团体中的成员资格特别有趣。特别是如果它是域管理员组。以下文章展示了如何识别更改并定期检查它们。如有任何更改,应通知管理员。这可以通过消息或电子邮件来完成。我们没有配置审核策略,而是在 PowerShell 中完成所有操作,然后将脚本放入计划任务中。

目标

我们希望实现以下目标。

[玩转系统] PowerShell:将某人添加到管理员组时通知我

如果域管理员组中的成员资格发生变化,请通过电子邮件或消息或其他方式通知我。它可能看起来像这样:

[玩转系统] PowerShell:将某人添加到管理员组时通知我

或这个:

[玩转系统] PowerShell:将某人添加到管理员组时通知我

介绍

首先,我们必须检索所有域管理员组成员。

Get-ADGroupMember -Identity "Domain Admins").Name

[玩转系统] PowerShell:将某人添加到管理员组时通知我

或者,我们可以将其保存在文件 Admins.txt 中:

(Get-ADGroupMember -Identity "Domain Admins").Name | Out-File C:\Temp\Admins.txt

我现在向该组添加一个新用户。他的名字叫阿诺德·施瓦岑贝格。与名人相似纯属巧合。 ?

然后我将结果保存在另一个文件 Admins2.txt 中

(Get-ADGroupMember -Identity "Domain Admins").Name | Out-File C:\Temp\Admins2.txt

现在让我们看一下这两个文件。

[玩转系统] PowerShell:将某人添加到管理员组时通知我

我们的下一步是比较两个文件的内容。为了做到这一点,我使用 Compare-Object。

$a=Get-Content C:\Temp\Admins.txt
$b=Get-Content C:\Temp\Admins2.txt
$differ=Compare-Object -ReferenceObject $a -DifferenceObject $b | Select-Object -ExpandProperty InputObject

[玩转系统] PowerShell:将某人添加到管理员组时通知我

美好的。我们抓到他了!

另一种方法是将组成员保存在变量中。这是我的首选方式。我不喜欢那些文本文件?

$ref=(Get-ADGroupMember -Identity "Domain Admins").Name
$diff=(Get-ADGroupMember -Identity "Domain Admins").Name

创建一个脚本来定期比较会员资格,每天一次

打开 PowerShell ISE。让我们将它们全部放在一个脚本中。第一个脚本在管理员桌面上启动一条消息。它会检查成员,然后等待大约一个小时。然后脚本再次检查并比较结果。现在我们使用SideIndicator。如果您只想查询一个方向上的值变化,则该指示器可能会很有帮助。有效值为 => 和

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯