Kod adalah seperti berikut
# -*- 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
Apakah kesilapan ini? Bolehkah ada pakar untuk menjawabnya?
Mesej ralat sangat jelas, akses dinafikan
Izinkan saya memberitahu anda tentang kesilapan yang saya lihat
cmd_callbat = "start c:3.bat"
Kami menolaknya satu demi satu, atau ia adalah kemalangan sambungan Jangan laksanakan skrip dahulu, tetapi laksanakan perintah cmd yang paling mudah, dir atau sebagainya, untuk melihat sama ada ia kembali dengan betul. Kemudian, laksanakan skrip sekali lagi dan lihat