code show as below
# -*- 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.110", username="Administrator",password="12345678")
报错情况如下:
C:\Python27\python.exe D:/untitled/远程连接.py
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:\Python27\lib\site-packages\wmi.py", line 1290, in connect
handle_com_error ()
File "C:\Python27\lib\site-packages\wmi.py", line 241, in handle_com_error
raise klass (com_error=err)
x_access_denied: <x_wmi: Unexpected COM Error (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3', (0, u'SWbemLocator', u'\u62d2\u7edd\u8bbf\u95ee\u3002 ', None, 0, -2147024891), None)>
None
What kind of error is this? Can any expert help to answer it? Thank you~
The error message is very clear, access is denied
Let me tell you about a mistake I saw
cmd_callbat = "start c:3.bat"
We ruled it out one by one, or it was a connection accident. Don’t execute the script first, but execute the simplest cmd command, dir or the like, to see if it is returned correctly. Then, execute the script again and see