Exchange 2010 禁止显示 Get-MailboxStatistics 警告

Exchange 2010 禁止显示 Get-MailboxStatistics 警告

如何抑制来自 Exchange 2010 的 PowerShell Get-MailboxStatisticscmdlet 的警告?

我已经尝试过这两个选项:

Get-MailboxStatistics -WarningAction SilentlyContinue
Get-MailboxStatistics -ErrorAction SilentlyContinue

但是,我仍然会在控制台上输出有关尚未登录其邮箱的用户的警告:

警告:用户尚未登录邮箱...[截图]...,因此没有数据可返回。用户登录后,此警告将不再出现。

答案1

我还尝试了 $WarningActionPreference = "SilentlyContinue" ——这会将所有警告消息设置为静音。看起来有些地方出了问题。看起来有一个错误。

https://connect.microsoft.com/PowerShell/feedback/details/541500/warning-verbose-and-debug-streams-do-not-respect-action-preferences-the-way-they-should

答案2

我一直在尝试这个问题,试图重现这个问题(不过,我在 Exhcange 2007 上,所以这可能会有所不同。我对 powershell 也还很陌生)。从新邮箱开始"Testy McTest"

>get-variable |where { $_.Name -match "Preference" }

Name                           Value
----                           -----
ConfirmPreference              High
DebugPreference                SilentlyContinue
ErrorActionPreference          Continue
ProgressPreference             Continue
VerbosePreference              SilentlyContinue
WarningPreference              Continue
WhatIfPreference               False

我可以运行以下命令:

>Get-MailboxStatistics "Testy McTest"
WARNING: There is no data to return for the specified mailbox 'Testy McTest', because it has not been logged on to.
>Get-MailboxStatistics -WarningAction SilentlyContinue "Testy McTest"   (No Output)
>Set-Variable WarningPreference SilentlyContinue
>Get-MailboxStatistics "Testy McTest"   (No output)
>

这似乎正常工作。值得一提的是,错误和警告操作的变量实际上是ErrorActionPreferenceWarningPreference。不确定它们为什么会有这样的差异。

作为问题中特定命令的解决方法,您可以限定输出,例如:

>Get-MailboxStatistics |where { $_.LastLogonTime }

其中似乎只列出了那些邮箱登录时间。

相关内容