0

我编写了一个小的 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 中的一个包含邮件联系人之外,这很好用。有没有办法将它们包含在上面的脚本中?

谢谢。

4

1 回答 1

0

如果您使用Get-ADObject来检索联系人,那么您可以查询他们的MemberOf属性。这与您想要的相反,但它有效。您可以使用此脚本,只需将-SearchBase值更改为您想要查看的位置:

Get-ADObject -Filter * -SearchBase "OU=Contacts, DC=domain, DC=com" \
-Properties * | ?{$_.MemberOf -ne $null} | Select DisplayName, MemberOf
于 2018-06-28T21:08:05.860 回答