任何人都可以向我解释当我在 $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 变量时。

最佳答案

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

关于PowerShell - $Error 中的条目之间的区别,cmdlet 不公开内部代码,但函数公开,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59433035/

10-08 22:36