Powershell 获取电子邮件地址值交换

Powershell 获取电子邮件地址值交换,powershell,exchange-server,Powershell,Exchange Server,我正试图用一些有用的信息提供一个邮箱统计数据。我在下面使用这个,除了emailaddresses部分,其他都可以 $mailboxStatistics = $allMailboxes | foreach { $mailboxType = $_.RecipientTypeDetails $OU = $_.OrganizationalUnit $UPN = $_.UserPrincipalName $primaryEmail = $_.PrimarySmtpAddre

我正试图用一些有用的信息提供一个邮箱统计数据。我在下面使用这个,除了emailaddresses部分,其他都可以

$mailboxStatistics = $allMailboxes | foreach {
    $mailboxType = $_.RecipientTypeDetails
    $OU = $_.OrganizationalUnit
    $UPN = $_.UserPrincipalName
    $primaryEmail = $_.PrimarySmtpAddress
    $EmailAddresses = @{Name='EmailAddresses'; Expression={$_.EmailAddresses -join ","}}
    Get-MailboxStatistics -identity $_.identity | Select-Object DisplayName,LastLogonTime,LastLogOffTime,ItemCount,TotalItemSize,@{label='MailboxType';expression={$mailboxType}},@{label='OU';expression={$OU}},@{label='UPN';expression={$UPN}},@{label='PrimarySMTP';expression={$PrimaryEmail}},@{label='EmailAddresses';expression={$EmailAddresses}}
}
输出为emailaddresses列提供此值。有人能告诉我怎么修理吗?
System.Collections.Hashtable

,因为您已将其转换为hasttable:@{}。假设您需要逗号分隔的字符串,如果需要,下面的操作应该可以:

$mailboxStatistics = $allMailboxes | foreach {
    $mailboxType = $_.RecipientTypeDetails
    $OU = $_.OrganizationalUnit
    $UPN = $_.UserPrincipalName
    $primaryEmail = $_.PrimarySmtpAddress
    $EmailAddresses = $_.EmailAddresses -join ","
    Get-MailboxStatistics -identity $_.identity | Select-Object DisplayName,LastLogonTime,LastLogOffTime,ItemCount,TotalItemSize,@{label='MailboxType';expression={$mailboxType}},@{label='OU';expression={$OU}},@{label='UPN';expression={$UPN}},@{label='PrimarySMTP';expression={$PrimaryEmail}},@{label='EmailAddresses';expression={$EmailAddresses}}
}