是否可以将动态通讯组配置为包含某个人的所有直接下属,以及递归的所有直接下属?
详细信息
为了获得直接报告,我相信我们只是运行:
Set-DynamicDistributionGroup -Identity 'SomeManagersDirectReports' `
-RecipientFilter "((RecipientType -eq 'UserMailbox') -and (Manager -eq 'CN=SomeManager,OU=Users,DC=domain,DC=example,DC=com')"
但是要递归地获取经理、他们的直接下属和他们的报告,我能想到的唯一方法是运行类似下面的内容来生成成员列表,然后使用它来动态更新(静态)通讯组。
# very rough code to demo thinking... Haven't yet considered things like character escaping /
# circular loops / other fun things which may be found in the wild...
[string]$FirstPersonDn = 'CN=SomeManager,OU=Users,DC=domain,DC=example,DC=com'
[System.Collections.Generic.List[string]]$newMembers = [System.Collections.Generic.List[string]]::new()
[System.Collections.Generic.List[string]]$members = [System.Collections.Generic.List[string]]::new()
$newMembers.Add($FirstPersonDn)
while ($newMembers.Count) {
$members.Add($newMembers)
$newMembers = $newMembers | %{Get-AdUser $_ -properties DirectReports} | % DirectReports
}
Update-DistributionGroupMember -Identity 'SomeManagerAndTheirReportsRecusive' -Members $members
根据我的研究,无法递归地向动态通讯组中的经理的直接下属发送电子邮件,您可以只将所有报告添加到组中,或者为每个经理创建动态通讯组并将这些 DDL 添加到父级分发组。
这是一个类似的线程供您参考,希望对您有所帮助:基于管理器创建动态通讯组