PowerShell-$ Error中的条目之间的区别,cmdlet不会公开内部代码,但函数会

时间:2019-12-21 02:17:55

标签: powershell

任何人都可以向我解释当我在$Error中遇到错误时(例如)在Connect-MSOLService中看到的内容与自定义PowerShell函数之间的区别。具体来说,为什么前者不公开导致异常的内部代码,而后者却公开呢?

希望以下示例有助于说明我的意思...

Connect-MSOLService

PS C:\Users\robert> Connect-MsolService
Connect-MsolService : Authentication Error: Unexpected authentication failure.
At line:1 char:1
+ Connect-MsolService
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [Connect-MsolService], Exception
+ FullyQualifiedErrorId : System.Exception,Microsoft.Online.Administration.Automation.ConnectMsolService

PowerShell function

Connection failed to host google.com
At line:31 char:9
+         throw [System.Security.Authentication.AuthenticationException ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], AuthenticationException
    + FullyQualifiedErrorId : Connection failed to host google.com

请注意,我在控制台中看到的错误并未公开内部代码。只有当我查看$Error变量时。

1 个答案:

答案 0 :(得分:0)

mklement0的评论为我回答了这个问题。