Por que os cmdlets do Exchange 2010 estão ignorando o ErrorVariable?

3

Estou tentando executar cmdlets do Exchange 2010 como este:

Get-Mailbox UserName -ErrorVariable err

No entanto, os cmdlets parecem ignorar completamente o parâmetro -ErrorVariable : a variável $err nunca é criada ou modificada, independentemente do sucesso ou falha do comando.

Por que isso está acontecendo e como posso fazê-los funcionar como deveriam (ou seja, preenchendo a variável com o resultado real do comando)?

Isso funciona perfeitamente no Exchange 2007 ou em qualquer outro cmdlet que não seja específico do Exchange 2010.

    
por Massimo 31.07.2013 / 18:37

1 resposta

3

Depois de pesquisar por um tempo e encontrar muitas pessoas compartilhando o mesmo problema, eu abri uma chamada de suporte com a Microsoft. Eles me disseram para usar variáveis de escopo global em vez das padrão, e tudo começou a funcionar como esperado:

Get-Mailbox UserName -ErrorVariable global:err

Isto é, naturalmente, mencionado absolutamente em nenhum lugar na documentação do produto (a partir de hoje; espero sinceramente que eles vão atualizá-lo após a minha chamada de suporte).

O mesmo comportamento também se aplica a -OutVariable : OutVariable está corrompido para o Exchange Cmdlets de 2010 .

    
por 31.07.2013 / 18:40