使用python的wmi进行远程连接的时候报错

# -*- coding: utf-8 -*-
import wmi,json
import time
import traceback
import sys
logfile = 'logs_%s.txt' % time.strftime('%Y-%m-%d_%H-%M-%S', time.localtime())
#远程执行bat文件
def call_remote_bat(ipaddress,username,password):
    try:
        #用wmi连接到远程服务器
        conn = wmi.WMI(computer=ipaddress, user=username, password=password)
        filename=r"C:\123.bat"   #此文件在远程服务器上
        cmd_callbat = "start c:\123.bat"
        conn.Win32_Process.Create(CommandLine=cmd_callbat)  #执行bat文件
        print "执行成功!"
        return True
    except Exception,e:
        log = open(logfile, 'a')
        log.write(('%s, call bat Failed!\r\n') % ipaddress)
        log.close()
        print traceback.print_exc(file=sys.stdout)
        return False
    return False
if __name__=='__main__':

    call_remote_bat(ipaddress="192.168.110.131", username="Administrator", password="123456")
以上是远程连接的代码,运行和报错如下:

Traceback (most recent call last):
File "D:/untitled/Զ������.py", line 11, in call_remote_bat

conn = wmi.WMI(computer=ipaddress, user=username, password=password)

File "C:Python27libsite-packageswmi.py", line 1290, in connect

handle_com_error ()

File "C:Python27libsite-packageswmi.py", line 241, in handle_com_error

raise klass (com_error=err)

x_wmi: <x_wmi: Unexpected COM Error (-2147352567, 'xb7xa2xc9xfaxd2xe2xcdxe2xa1xa3', (0, u'SWbemLocator', u'RPC u670du52a1u5668u4e0du53efu7528u3002 ', None, 0, -2147023174), None)>
None

这是什么错误,有哪位高手可以解答一下

这个报错我在主机ping通虚拟机(远程计算机)之后,运行代码,还是以上的报错,这又是什么情况呢?哪位高手帮忙解答一下,谢谢。

RPC服务器不可用,我在服务里开启了RPC之后再运行代码,还是一样的报错,这要怎么解决呢?

阅读 9.2k
2 个回答

看错误提示是服务器不可用啊,你需要确保你远程的服务器可以ping通,另外用户和密码要对的上。

b'\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3'.decode('gbk')
'发生意外。'

u'RPC \u670d\u52a1\u5668\u4e0d\u53ef\u7528\u3002 '
'RPC 服务器不可用。 '
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题