Le code est le suivant
# -*- 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
Quelle est cette erreur ? Un expert peut-il nous aider à y répondre ? Merci~
Le message d'erreur est très clair, l'accès est refusé
Laissez-moi parler d'une erreur que j'ai vue
cmd_callbat = "start c:3.bat"
Nous l'avons exclu un par un, ou c'était un accident de connexion. N'exécutez pas le script en premier, mais exécutez la commande cmd la plus simple, dir ou similaire, pour voir si elle renvoie correctement. Ensuite, exécutez à nouveau le script et voyez