PowerShell中查詢錯誤編號信息的2個方法
有時候,一些本地命令,比如net.exe,在執(zhí)行過程中,會返回數(shù)字編號形式的錯誤信息。很郁悶的是,我們不知道這些數(shù)字代表什么意思。以前,我們可以使用如下的方式去獲取數(shù)字代表的信息:
PS> net helpmsg 3534
The service did not report an error.
PS> net helpmsg 1
Incorrect function.
PS> net helpmsg 4323
The transport cannot access the medium.
其實有一個更好的方法,那就是使用winrm.exe,它不僅可以實現(xiàn)上面的功能,而且還要更加強(qiáng)大!同樣的,看看對上面三個錯誤的翻譯:
PS> winrm helpmsg 3534
The service did not report an error.
PS> winrm helpmsg 1
Incorrect function.
PS> winrm helpmsg 4323
The transport cannot access the medium.
OK,看到了吧,結(jié)果是一樣的。其實,net.exe只能翻譯中一個特定規(guī)范內(nèi)的錯誤信息(具體怎么樣一個特定的規(guī)范,洪哥也不是很清楚),而winrm.exe則要更加強(qiáng)大,比如它可以轉(zhuǎn)換“特定的遠(yuǎn)程”錯誤代碼:
PS> winrm helpmsg 0x80338104
The WS-Management service cannot process the request. The WMI service returned an 'access denied' error.
PS> net helpmsg 0x80338104
The syntax of this command is:
NET HELPMSG
message#
上面可以看出來,winrm.exe正確的翻譯出了0x80338104的錯誤信息,而net.exe沒有做到。其實,這個命令可能跟PowerShell沒有什么直接的關(guān)系,但也算是一個Shell命令吧,我們可以使用它去翻譯任何低級的API錯誤代碼,并且堅定的相信它得到的結(jié)果。
相關(guān)文章
用PowerShell刪除N天前或指定日期(前后)創(chuàng)建(或修改)的文件
這篇文章主要介紹了用PowerShell刪除N天前或指定日期(前后)創(chuàng)建(或修改)的文件,需要的朋友可以參考下2016-11-11PowerShell中使用Test-Path命令檢查文件或文件夾路徑是否存在示例
這篇文章主要介紹了PowerShell中使用Test-Path命令檢查文件或文件夾路徑是否存在示例,Test-Path命令的返回值是TRUE或FALSE,可以很方便的判斷,需要的朋友可以參考下2014-08-08Powershell展開對象數(shù)據(jù)結(jié)構(gòu)并以JSON格式輸出
這篇文章主要介紹了Powershell展開對象數(shù)據(jù)結(jié)構(gòu)并以JSON格式輸出,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-03-03Powershell創(chuàng)建簡潔的HTML報告例子
這篇文章主要介紹了Powershell創(chuàng)建簡潔的HTML報告例子,本文先是講解了實現(xiàn)的步驟,然后給出了實現(xiàn)代碼,需要的朋友可以參考下2014-11-11Windows Powershell Foreach 循環(huán)
Foreach-object 為cmdlet命令,使用在管道中,對管道結(jié)果逐個處理,foreach為遍歷集合的關(guān)鍵字。2014-10-10Windows Powershell Where-Object 條件過濾
本篇會對條件判斷進(jìn)行實際應(yīng)用。在管道中可以通過條件判斷過濾管道結(jié)果,Where-Object會對集合逐個過濾,將符合條件的結(jié)果保留。2014-10-10PowerShell函數(shù)參數(shù)設(shè)置為即可選又必選的方法
這篇文章主要介紹了PowerShell函數(shù)參數(shù)設(shè)置為即可選又必選的方法,也就是帶有判斷功能,在某個情況下變?yōu)榭上葏?shù),在某種情況下又是必選參數(shù),需要的朋友可以參考下2014-07-07