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