Para ser honesto depois do seu post anterior eu tentei isso (meus exemplos onde código real eu testei - e funcionou nos meus testes). Mas eu estava rodando no meu servidor EX (VM). E eu não usei o EM Shell, acabei de adicionar EX snapins ao meu "normal" powershell.exe
Qual é a diferença? Bem, dê uma olhada nos comandos do Shell de Gerenciamento do Exchange:
Get-Command Get-Mailbox | select CommandType
O EMS está usando o PSRemoting e o Implícito remotamente. Por que isso importa? Bem, vamos ver como -OutVariable funcionará para o comando remotamente impacitado que normalmente forneceria resultados, como ls:
$Session = New-PSSession -ComputerName EX
Import-PSSession -Prefix Test -Session $Session -CommandName Get-ChildItem
Get-TestChildItem -OutVariable Foo | Out-Null
$Foo -eq $null
True
Você também pode dar uma olhada neste artigo para mais detalhes sobre a mágica do EMS: link
ATM Eu não tenho certeza se isso é um bug, ou apenas efeito colateral de serialização / desserialização de objetos, ou apenas como remoting implícito funciona em geral. Mas isso é definitivamente a causa raiz, não os próprios cmdlets EX (porque, como você pode ver - você não está realmente usando cmdlets normalmente ...) Então - como eu disse - você é melhor com o Add-Member (meu exemplo em sua postagem vinculada teve que ser atualizado, anteriormente eu usei Get-Mailbox duas vezes em vez de Get-MailboxStatistics). Também não é à prova de balas (pelo menos os meus exemplos são um pouco frágeis), mas pelo menos funciona ... E você pode, obviamente, executar o powershell "normal" e fazer:
Add-PSSnappin -Name Microsoft.Exchange.*
... e ignore coisas remotas.