試圖找出找到所有轉發到通訊組列表的郵箱的方法。查找轉發到通訊組列表的交換郵箱
沒有這個運氣,任何人有更好的主意?
$group=Get-DistributionGroup | select PrimarySmtpAddress
Get-Mailbox | Where-Object { $_.ForwardingAddress -eq "$group" } | Select-Object Name,ForwardingAddress
試圖找出找到所有轉發到通訊組列表的郵箱的方法。查找轉發到通訊組列表的交換郵箱
沒有這個運氣,任何人有更好的主意?
$group=Get-DistributionGroup | select PrimarySmtpAddress
Get-Mailbox | Where-Object { $_.ForwardingAddress -eq "$group" } | Select-Object Name,ForwardingAddress
未測試(PSV2 +; PSv3 +將允許更簡單的語法):
$groupEmailAddresses = Get-DistributionGroup | foreach { $_.PrimarySmtpAddress.ToString() }
Get-Mailbox | where { $_.ForwardingSmtpAddress -and
$groupEmailAddresses -contains $_.ForwardingSmtpAddress.ToString() } |
Select-Object Name, ForwardingSmtpAddress
注意,儘管許多的PowerShell運營商可以在陣列(集合),
在手頭的情況下,-contains
告訴我們,在LHS的集合是否有其元素間的單RHS值。
沒有結果爲空:( – DisplayName
@Owl:因爲我沒有權限訪問這些cmdlet,所以我無法自行調查。 |%{if($ _。ForwardingSmtpAddress){$ _。ForwardingSmtpAddress.ToString()}}'看看你是否(a)獲取電子郵件地址,以及(b)如果它們的格式與'$ groupEmailAddresses'。 – mklement0
awww感謝您的試用:P wil check – DisplayName
很確定你只需要放掉''''''$ group「',並且可能需要選擇該對象的'.name'參數,但是是[Get-DistributionGroupMember](https ://technet.microsoft.com/en-us/library/aa996367(v = exchg.160).aspx)不適合此任務? –
與此相同 – DisplayName
哦,等等我看到$ group是一個數組,需要進行一些更改才能使其工作,但不幸的是,我沒有額外的ATM時間,您是否給了'Get-DistributionGroupMember'一槍? –