Windows WMI ping失败(0x80041001-一般错误)

Windows WMI ping失败(0x80041001-一般错误),windows,wmi,ping,Windows,Wmi,Ping,我有一个应用程序,它使用WMI执行多个任务,其中一个是ping远程机器。对于ping,我使用以下查询: SELECT * FROM Win32_PingStatus WHERE Address='192.168.0.1' AND Timeout=3000 AND StatusCode=0 在一些系统上,这是完全正确的。但在某些计算机上,此查询返回0x80041001-通用WMI错误。当我使用wbemtest.exe手动执行此查询时,我会得到相同的错误和以下“说明”: 发送回显失败,IcmpSe

我有一个应用程序,它使用WMI执行多个任务,其中一个是ping远程机器。对于ping,我使用以下查询:

SELECT * FROM Win32_PingStatus WHERE Address='192.168.0.1' AND Timeout=3000 AND StatusCode=0
在一些系统上,这是完全正确的。但在某些计算机上,此查询返回0x80041001-通用WMI错误。当我使用wbemtest.exe手动执行此查询时,我会得到相同的错误和以下“说明”:

发送回显失败,IcmpSendEcho2失败


此错误的原因是什么?如何修复?

我觉得它试图告诉您查询失败,因为状态码不是0。这很正常。请从查询中删除StatusCode=0,然后重试。如果StatusCode不是0,则查询不能像在其工作的计算机上一样返回任何行。但我尝试在query remove Timeout和StatusCode中只留下“地址”-错误是相同的。再加上您的错误,表明这是WMI告诉您存在通信错误的方式。添加一些流/错误检查可能会有所帮助。你有这样的代码吗?您使用的脚本语言是什么?@Lizz有趣的链接,但您认为BITS文件传输服务可以用于普通ping作业ICMP请求吗?在任何情况下,当我到达一台“坏”机器时,我都会检查bitsadmin。回答您的问题:错误检查很小,但我可以使用相同的查询和wbemtest实用程序重现错误,并获取所有信息。在我的应用中我使用C++和com。首先,不,我不认为它使用比特,但是日志应该告诉。Win32_PingStatus类上的此MS页应包含所有错误和状态代码。似乎没有。如果它在某些主机上工作,但在其他主机上不工作,那么出现故障的主机的操作系统是什么?支持页面上说它可以在2003和XP上使用-没有提到其他操作系统。好奇你会发现什么。。。