Eu também tentei $ WarningActionPreference="SilentlyContinue" - Isso irá definir todas as mensagens de aviso como silenciosas. Parece que algo está quebrado. Parece que há um bug.
Como posso suprimir os avisos do cmdlet PowerShell Get-MailboxStatistics
do Exchange 2010?
Eu tentei as duas opções:
Get-MailboxStatistics -WarningAction SilentlyContinue
Get-MailboxStatistics -ErrorAction SilentlyContinue
No entanto, ainda recebo essa saída de aviso para o console sobre os usuários que não estão conectados às suas caixas de correio:
WARNING: The user hasn't logged on to mailbox ...[snipped]..., so there is no data to return. After the user logs on, this warning will no longer appear.
Eu também tentei $ WarningActionPreference="SilentlyContinue" - Isso irá definir todas as mensagens de aviso como silenciosas. Parece que algo está quebrado. Parece que há um bug.
Eu tenho jogado com esse, tentando recriar o problema (estou no Exhcange 2007, entretanto, isso pode fazer a diferença. Eu também sou muito novo no powershell). Começando com uma nova caixa de correio, "Testy McTest"
:
>get-variable |where { $_.Name -match "Preference" }
Name Value
---- -----
ConfirmPreference High
DebugPreference SilentlyContinue
ErrorActionPreference Continue
ProgressPreference Continue
VerbosePreference SilentlyContinue
WarningPreference Continue
WhatIfPreference False
Eu posso executar o seguinte:
>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)
>
Isso parece funcionar normalmente. Pode valer a pena mencionar que as variáveis para as ações Erro e Aviso são, na verdade, ErrorActionPreference
e WarningPreference
. Não tenho certeza porque eles diferem assim.
Como solução alternativa para o comando específico na pergunta, você pode qualificar a saída com algo como:
>Get-MailboxStatistics |where { $_.LastLogonTime }
Que parece listar apenas as caixas de correio que têm um tempo de logon.