# -*- 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 (dernier appel le plus récent) :
Fichier "D:/untitled/丶������.py", ligne 11, dans call_remote_bat
conn = wmi.WMI(computer=ipaddress, user=username, password=password)
Fichier "C:Python27libsite-packageswmi.py", ligne 1290, dans connect
handle_com_error ()
Fichier "C:Python27libsite-packageswmi.py", ligne 241, dans handle_com_error
raise klass (com_error=err)
x_wmi : <x_wmi : erreur COM inattendue (-2147352567, 'xb7xa2xc9xfaxd2xe2xcdxe2xa1xa3', (0, u'SWbemLocator', u'RPC u670du52a1u5668u4e0du53efu7528u3002 ', e, 0, 147023174), Aucun)>
Aucun
Quelle est cette erreur ? Un expert peut-il l'expliquer ?
Cette erreur est signalée lorsque j'exécute le code après avoir envoyé une requête ping à la machine virtuelle (ordinateur distant) depuis l'hôte, mais l'erreur ci-dessus est toujours signalée. Que se passe-t-il ? Un expert peut-il m'aider avec la réponse ? Merci.
Le message d'erreur est que le serveur n'est pas disponible. Vous devez vous assurer que votre serveur distant peut recevoir une requête ping et que l'utilisateur et le mot de passe doivent être corrects.