我正在尝试运行Exchange 2010 cmdlet,例如:
Get-Mailbox UserName -ErrorVariable err
但是,cmdlet似乎完全忽略了-ErrorVariable参数:无论命令是成功还是失败,variables$err都不会被创build或修改。
为什么会发生这种情况,以及如何使它们像他们应该那样工作(即用实际的命令结果填充variables)?
这可以在Exchange 2007上完美工作,或与任何其他不特定于Exchange 2010的其他cmdlet一起使用。
经过一段时间的search,发现有许多人遇到同样的问题,我打开了一个与微软的支持电话。 他们告诉我使用全局范围的variables而不是标准variables,并且所有事情都按照预期工作:
Get-Mailbox UserName -ErrorVariable global:err
当然,这在产品文档中是绝对没有提到的(截至今天,我真诚希望在我的支持电话后,他们会更新它)。
相同的行为也适用于-OutVariable : Exchange 2010 cmdlet的OutVariable已损坏 。