我编写了一个小的PowerShell脚本来输出所有分发列表的所有成员(包括动态)。
$output = ""
$DLList = get-distributiongroup
foreach ($DL in $DLList) {
$Dmember=get-distributiongroupmember $DL
$Dname=$DL.name
write-output "$Dname"
$output += "$Dname`r`n"
foreach ($Member in $Dmember) {
$MName=$Member.DisplayName
write-output "-$MName"
$output += "-$MName`r`n"
}
write-output ""
$output += "`r`n"
}
$DDLList = get-dynamicdistributiongroup
foreach ($DL in $DDLList) {
$Dmember=get-Recipient -Filter $DL.RecipientFilter
$Dname=$DL.name
write-output "$Dname"
$output += "$Dname`r`n"
foreach ($Member in $Dmember) {
$MName=$Member.DisplayName
write-output "-$MName"
$output += "-$MName`r`n"
}
write-output ""
$output += "`r`n"
}
$output | Tee-Object -file data.txt
除了我的一个DL包含邮件联系人之外,这个工作正常。有没有办法将它们包含在上面的脚本中?
感谢。
答案 0 :(得分:0)
如果您使用Get-ADObject
来检索联系人,则可以查询其MemberOf
属性。它与您想要的相反,但是它可以工作。您可以使用此脚本,只需将-SearchBase
的值更改为要查看的位置:
Get-ADObject -Filter * -SearchBase "OU=Contacts, DC=domain, DC=com" \
-Properties * | ?{$_.MemberOf -ne $null} | Select DisplayName, MemberOf