查找陈旧/不活动的 Exchange 邮箱

查找陈旧/不活动的 Exchange 邮箱

希望有人可以帮助解决这个问题/这是一个很容易解释的问题,但基本上我想在我们的 Exchange 2010 环境中找到超过 x 天/一定时间未登录的邮箱。

我在网上找到了几个 powershell 脚本,它们似乎可以通过查看邮箱统计信息的上次登录时间属性来工作,但是当我尝试导出(或者甚至只是在 powershell 中显示结果)时,似乎有很多邮箱(但不是全部)没有显示任何关于 lastlogontime 的信息——它只是空白的。

下面是我使用的其中一个脚本,但我想知道是否有人有更好的方法来查找这些信息,或者知道为什么这些结果没有按预期生成?提前感谢您提供的任何帮助!

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Where{$_.Lastlogontime -lt (Get-Date).AddDays(-90)} | Select DisplayName, LastLoggedOnUserAccount, LastLogonTime | Export-csv C:\Temp\InactiveUsers.csv

答案1

上次登录时间为空白通常意味着它根本没有被使用过。不过我个人会调整脚本以删除时间限制的要求

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName, LastLoggedOnUserAccount, LastLogonTime

然后将这些结果导出到 CSV 并按涉及的日期对结果进行排序。这将让您更好地了解您得到的结果是否符合预期。

不过,TechNet 图库中的这个脚本可以给你带来更好的结果。 https://gallery.technet.microsoft.com/scriptcenter/List-Inactive-Mailboxes-on-1ac82ddf因为它是基于最后发送的项目,而不是登录日期。如果您有 BES 或其他扫描邮箱的产品,那么登录日期可能非常不准确。

答案2

当您将邮箱从一个数据库移动到另一个数据库时,LastLogonTime 会被重置。在这种情况下,它会显示为空白。

相关内容