PowerShell中查询错误编号信息的2个方法_PowerShell

有时候,一些本地命令,比如net.exe,在执行过程中,会返回数字编号形式的错误信息。很郁闷的是,我们不知道这些数字代表什么意思。以前,我们可以使用如下的方式去获取数字代表的信息:

复制代码 代码如下:

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,它不仅可以实现上面的功能,而且还要更加强大!同样的,看看对上面三个错误的翻译:

复制代码 代码如下:

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,看到了吧,结果是一样的。其实,net.exe只能翻译中一个特定规范内的错误信息(具体怎么样一个特定的规范,洪哥也不是很清楚),而winrm.exe则要更加强大,比如它可以转换“特定的远程”错误代码:

复制代码 代码如下:

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没有什么直接的关系,但也算是一个Shell命令吧,我们可以使用它去翻译任何低级的API错误代码,并且坚定的相信它得到的结果。

时间: 2024-08-01 07:53:25

PowerShell中查询错误编号信息的2个方法_PowerShell的相关文章

PowerShell中直接输出转义字符或变量名称的方法_PowerShell

本文介绍在PowerShell的字符串中,如何禁止字符串中某分字符被转义或部分字符被当作变量,即让字符串中所有的字符都原样输出. 在PowerShell中,转义字符是以字符(·)开头的一部分特殊字符,可以用于实现换行.TAB等功能.而变量则是以符号($)开头,代表一个值.之前的文章中我们介绍过转义字符,也介绍过在字符串中包含变量.有兴趣的朋友可以去了解一下. 在PowerShell中可以用一对双引号引起一个字符串,也可以使用一对单引号引起一个字符串.而用单引号与双引号最大的一个区别是,双引号引起

PowerShell中以管理员权限启动应用程序的方法_PowerShell

又一个PowerShell比CMD好的地方.在CMD中用管理员权限来启动应用程序很复杂,但在PowerShell中就简单多了,如下: 复制代码 代码如下: Start-Process notepad -Verb runas Start-Process "$PSHOME\powershell.exe" -Verb runas

PowerShell中把IP转换为长整形数字的方法_PowerShell

IPv4的地址其实可以换成为一个长整形的数字,使用数字类型来表示IP地址时,可以非常方便的进行地址范围的匹配比较.在.NET开发环境中一个IPAddress类,它的Address属性就是十进制的数字,而IPAddressToString属性是我们熟悉的点分十进制的字符串形式. 下面两个过滤器,分别处理"点分十进制"字符串到数字的转换和数字到"点分十进制"的转换. 复制代码 代码如下: //"点分十进制"字符串到数字的转换 filter Conve

php-GridView显示PHP从数据库中查询获取的信息,英文显示正常,中文显示"??“

问题描述 GridView显示PHP从数据库中查询获取的信息,英文显示正常,中文显示"??" public function query($query) { $result = mysql_query($query, $this->link)or die("失败"); $this->result = $result; if ($result == false) trigger_error('Uncovered an error in your SQL q

Node.js中防止错误导致的进程阻塞的方法_node.js

在Node.js中,当某个回调函数发生了错误,整个进程都会崩溃,影响后面的代码执行. Node.js这样处理,是因为在发生未被捕获的错误时,进程的状态就不确定.之后也就无法正常工作了.如果错误始终不处理的话,就回一直抛出意料之外的错误,这样不利于调试. 防止错误导致的进程阻塞的方法主要有如下两种: 一. try-catch try-catch允许进行异常捕获,并让代码继续执行下去: 例如: 当函数抛出错误时,代码就停止执行了: (function() { var a = 0; a(); cons

详解C语言中的错误报告errno与其相关应用方法_C 语言

C语言标准库中的错误报告用法有三种形式.1.errnoerrno在<errno.h>头文件中定义,如下 #ifndef errno extern int errno; #endif 外部变量errno保存库程序中实现定义的错误码,通常被定义为errno.h中以E开头的宏, 所有错误码都是正整数,如下例子 # define EDOM 33 /* Math argument out of domain of function. */ EDOM的意思是参数不在数学函数能接受的域中,稍后的例子中用到了

PowerShell中使用Like运算符配合通配符查找字符串例子_PowerShell

本文介绍在PowerShell中使用通配符来查找字符串,和通配符一起使用的是like运算符. 在PowerShell中的通配符是星号(*)和问号(?),这跟DOS系统中是一样的.要使用通配符在字符串中查找,可以使用like运算符.举例如下: "123"是以1开头 复制代码 代码如下: PS C:\Users\splaybow> "123" -like "1*" True "123"是以1开头,3结尾 复制代码 代码如下:

PowerShell中简单的自定义函数和调用函数例子_PowerShell

在PowerShell中是否有函数?PowerShell是否可以自定义函数?PowerShell中如何自定义函数? 在PowerShell中,我们可以使用函数(function)来简化编程开发.在PowerShell中使用function这个关键词来标识一个函数.一个自定义的函数,由function关键词开始,然后用一对大括号来包括起整个函数体的内容. 我们先来看一下简单的PowerShell函数: 复制代码 代码如下: function Test-Function {     Write-Ho

PowerShell实现查询打开某个文件的默认应用程序_PowerShell

许多文件扩展名和一个可执行应用程序绑定.正因为这样你才可以使用Invoke-Item打开一个文档. 要找出一个给定后缀名的文件是由那个默认引用程序打开它,并不麻烦.我们可以使用Windows系统中的注册表,自行编程解决.但是在扫描注册表时,要稍微留意一下32位和64位机器的问题,这不是本文重点,点到为止. 另外一种途径,稍显旁门左道,调用Windows API.下面的例子会演示如何调用.采取这种途径最大的优势是借力于操作系统.而你的付出成本只是用C#代码间接调用Windows API中的函数而已