# -*- 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:3.bat" #此文件在远程服务器上
cmd_callbat = "start c:3.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, -2147 023174), None)>
None
What is this error? Can any expert explain it
This error is reported when I run the code after the host pings the virtual machine (remote computer), and the above error is still reported. What is the situation? Can any expert help me with the answer? Thank you.
The error message is that the server is unavailable. You need to ensure that your remote server can be pinged, and the user and password must be correct.