
Я ввожу следующую команду в Exchange 2010 EMS, и она работает, когда я запускаю ее в интерактивном режиме.
$a = Get-MailboxDatabaseCopyStatus -server theName | fl name,activedatabasecopy,status,contentindexstate
Write-Host $a
Если я вызываю скрипт из окна EMS, содержащий ту же команду, я получаю следующее:
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
Не уверен, почему одна и та же команда выводит по-разному. Есть идеи? Спасибо.
решение1
Похоже, что вывод конвейера изменяется по-разному в скрипте и при ручном вводе команд. Я нашел ответ в посте ниже, где упоминается использование "out-host".