【发布时间】:2019-01-15 09:08:51
【问题描述】:
我正在使用 powershell 脚本来确定我的 office 365 租户中用户邮箱的大小。 这几乎可以正常工作,但仅对于第一个返回的项目,不会显示用户的电子邮件地址。 在这个 CAE 中,它应该是:username1@contoso.com 但它保持空白
为什么?
Get-Mailbox -ResultSize Unlimited | Where {$_.EmailAddresses -like
"*@contoso.com"} | Get-MailboxStatistics |
Select-Object -Property @{label=”User”;expression={$_.DisplayName}},
@{label="Emailaddress";e={(get-mailbox $_.legacyDN).PrimarySMTPAddress}},
@{label=”Total Messages”;expression= {$_.ItemCount}},
@{label=”Total Size (MB)”;expression={[math]::Round(`
($_.TotalItemSize.ToString().Split("(")[1].Split(" ")[0].Replace(",","")/1MB),2)}}
结果是以下输出。 缺少第一行的电子邮件地址。
User Emailaddress Total Messages Total Size (MB)
---- ------------ -------------- ---------------
Username 1 15977 2844,87
Username 2 username2@contoso.com 546 3,41
【问题讨论】:
-
糟糕,我现在才注意到实际的问题是“为什么?”。对不起,我没有答案。起初我以为你在寻找解决方案。 ;-)
-
请问您为什么在第 4 行使用
(get-mailbox $_.legacyDN).PrimarySMTPAddress而不是get-mailbox $_.PrimarySMTPAddress。我尝试使用您的代码,这部分让我很困惑。不过,我的建议效果很好。Get-mailbox %mailbox_name% | fl *没有legacyDN属性 -
@TeslaGreat 我可以回答这个问题。在此代码中,您必须为计算的属性处理
Get-MailboxStatistics的属性。但这没有属性“PrimarySMTPAddress”。
标签: powershell