a saída do script de troca do PowerShell só funciona quando digitada manualmente

a saída do script de troca do PowerShell só funciona quando digitada manualmente

Estou digitando o seguinte comando no Exchange 2010 EMS e funciona quando o executo de forma interativa.

$a = Get-MailboxDatabaseCopyStatus -server theName | fl name,activedatabasecopy,status,contentindexstate
Write-Host $a

Se eu chamar um script na janela do EMS que tenha o mesmo comando, recebo o seguinte:

Microsoft.PowerShell.Commands.Internal.Format.FormatStartData Microsoft.PowerShell.Commands.Internal.Format.GroupStartData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData Microsoft.PowerShell.Commands.Internal.Format.GroupEndData Microsoft.PowerShell.Commands.Internal.Format.FormatEndData

Não sei por que o mesmo comando está sendo gerado de maneira diferente. Alguma ideia? Obrigado.

Responder1

Parece que a saída do pipeline é modificada de maneira diferente em um script e na digitação manual de comandos. Encontrei a resposta no post abaixo que menciona o uso de "out-host".

https://stackoverflow.com/questions/35780815/exchange-get-mailbox-output- Different-in-script-vs-command-line

informação relacionada