我想要获取所有非活动邮箱及其主 SMTP 地址和上次登录信息的列表。
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName, LastLoggedOnUserAccount, LastLogonTime
此命令返回所有非活动邮箱及其显示名称,但问题是我想要使用邮箱的 PrimarySMTPAddress 获取此列表,因为多个帐户可能具有相同的显示名称。有没有办法使用 PrimarySMTPAddress 获取它?
答案1
Exchange 邮箱的主 SMTP 地址位于其“ProxyAddresses”属性中。这是一个多值属性,Exchange 使用全大写的“SMTP:”前缀表示主 SMTP 地址。非主 SMTP 地址将使用小写的“smtp:”前缀。
以下是如何查询主 SMTP 地址的示例:
Get-ADUser -Identity "Muhammad Arsalan Altaf" -Properties ProxyAddresses | select -ExpandProperty ProxyAddresses | ? {$_ -clike "SMTP:*"}
答案2
# actually Exchange management shell
$results = foreach ($mailboxdata in (Get-Mailbox -ResultSize Unlimited)) {
$stats = Get-MailboxStatistics -identity $mailbox ;
$mailboxdata | add-member NoteProperty -name LastLoggedOnUserAccount -value $stats.LastLoggedOnUserAccount
$mailboxdata | add-member NoteProperty -name LastLogonTime -value $stats.LastLogonTime}
$results
或者直接使用https://github.com/cunninghamp/Get-MailboxReport.ps1作者:Paul Cunningham 前所有者https://practical365.com
答案3
您的 Exchange 服务器是什么版本?如果您的 Exchange 服务器在本地,我发现了类似的脚本供你参考。
如果你的 Exchange 服务器在线,你可以前往https://protection.office.com并使用 Office 365 组织中的管理员帐户凭据登录,单击信息管理 > 保留,在保留页面上,单击更多导航栏省略号,然后单击非活动邮箱。有关更多详细信息:查看非活动邮箱列表