PowerShell 技能连载 - 将 Windows 错误 ID 转换为友好的文字

当您在 PowerShell 中调用一个底层的函数时,您可能经常会得到一个数值型的返回值。如果这个返回值是来自一个 Windows API 函数,那么有一个非常简单的方法将它转换成有意义的文本:

例如,当一个 API 函数因为权限不足导致失败,它的返回值是 5。让我们将它翻译为一个有意义的文本:

1
2
PS> New-Object -TypeName ComponentModel.Win32Exception(5)
Access is denied

在 PowerShell 5 中,您还可以使用这种语法:

1
2
PS> [ComponentModel.Win32Exception]::new(5)
Access is denied

请试试这个例子:

1
1..200 | ForEach-Object { '{0} = {1}' -f $_, (New-Object -TypeName ComponentModel.Win32Exception($_)) }

PowerShell 技能连载 - 将 Windows 错误 ID 转换为友好的文字

http://blog.vichamp.com/2018/03/08/converting-a-windows-error-id-into-friendly-text/

作者

吴波

发布于

2018-03-08

更新于

2022-07-06

许可协议

评论