我有一个 0365 环境,我想获取所有通讯组和匹配特定“域”的成员
我下面的代码有效,但我必须指定通讯组名称
Get-DistributionGroupMember "DG Name" | Get-MailContact | select primarysmtpaddress, alias | where-Object {($_.primarysmtpaddress -like "*@domain.org.au*")}
我不知道符合我的条件的所有 DG 名称如何修改我的代码以运行所有这些名称
谢谢
您可以使用 Get-DistributionGroup
cmdlet 获取所有分发和启用邮件的安全组的列表。然后遍历该列表。
如果您不想包含安全组,请按如下方式过滤掉这些安全组
$saveto = "C:\file.csv"
Get-DistributionGroup -ResultSize Unlimited |
Where-Object { $_.GroupType -notlike '*SecurityEnabled'} | # filter out mail-enabled security groups
Get-DistributionGroupMember |
Get-MailContact |
Where-Object { $_.primarysmtpaddress -like "*@domain.org.au*" } |
Select-Object PrimarySMTPAddress, Alias |
Export-Csv -Path $saveto -NoTypeInformation -UseCulture
这是答案 id 做到了
$saveto = "C:\file.csv"
Get-DistributionGroup |排序名称 | ForEach-Object {
"`r`n$($_.Name)`r`n=============" | Add-Content $saveto
Get-DistributionGroupMember $_.Name | sort Name | where-Object {($_.primarysmtpaddress -like "*@domain.org.au*")}| ForEach-Object {
$_.Name + " (" + $_.PrimarySMTPAddress + ")" | Add-Content $saveto
}
}