每次将用户添加到组中时,我都会在DC上提取事件日志。如果要将用户添加到特定OU内的组中,我想发送电子邮件。我能够成功列出添加用户的组的名称,以及获取特定OU中的组名称的列表,但是当我尝试检查事件中的组名称是否在列表中时它总是返回为假。
我尝试将 Get-ADGroup 部分的格式设置为表格和列表,但也没有运气。 我也尝试过使用-in -like和-contains比较运算符。没有运气..
$GroupAddEvent = Get-EventLog -ComputerName *DCNAME* -LogName "Security" -InstanceID 4756 -Newest 1
$EventGroup = $($GroupAdditionEvent.ReplacementStrings[2])
$UserResponsible = $($GroupAdditionEvent.ReplacementStrings[6])
$UserAdded = $($GroupAdditionEvent.ReplacementStrings[0])
$GroupEventMessage = $GroupAdditiondEvent.Message
$ADGroups = Get-ADGroup -Filter * -SearchBase "*OUPATH*" | select name | fl
if($ADGroups.Contains($EventGroup)) {"True"}
else {"False"}
变量$ADGroups
应该与特定OU中的所有组一起返回,变量$EventGroup
应该是我在列表中寻找的组...
答案 0 :(得分:1)
尝试替换此行:
$ADGroups = Get-ADGroup -Filter * -SearchBase "*OUPATH*" | select name | fl
具有:
$ADGroups = Get-ADGroup -Filter * -SearchBase "*OUPATH*" | select -expand name
答案 1 :(得分:0)
使用类似以下的内容:
$EventGroup = Get-ADGroup -Filter * -SearchBase "*OUPATH*" | Select-Object -ExpandProperty Name
if($ADGroups -Contains $EventGroup)