Na verdade, acho que deveria funcionar. Você está perdendo o fato de que -OutVariable é uma coleção (e não um array simples) e é o último elemento que normalmente é o que você procura.
Código que funcionou para mim:
Get-Mailbox -OutVariable mBoxes | Get-MailboxStatistics |
select DisplayName, TotalItemSize, @{
Name = 'ArchiveStatus'
Expression = { $mBoxes.Item($mBoxes.Count - 1).ArchiveStatus
}
Dito isto - eu recomendo usar técnica ligeiramente diferente com Add-Member para isso. Não é possível testar o desempenho, mas acho que deve ser melhor do que coletar toda a saída de Get-Mailbox ...:
Get-Mailbox | Foreach-Object { Get-MailboxStatistics -Identity $_ |
Add-Member -MemberType NoteProperty -Name ArchiveStatus -Value $_.ArchiveStatus -PassThru } |
select DisplayName, TotalItemSize, ArchiveStatus