如何连接到远程Windows机器以使用python执行命令?
发布时间:2020-12-13 20:35:12 所属栏目:Windows 来源:网络整理
导读:我是Python的新手,我正在尝试创建一个连接到远程Windows机器并在那里执行命令并测试端口连接的脚本. 这是我正在编写的代码,但它不起作用.基本上,我想和它一起返回本地机器数据,而不是远程机器数据. import wmiimport osimport subprocessimport reimport soc
我是Python的新手,我正在尝试创建一个连接到远程Windows机器并在那里执行命令并测试端口连接的脚本.
这是我正在编写的代码,但它不起作用.基本上,我想和它一起返回本地机器数据,而不是远程机器数据. import wmi import os import subprocess import re import socket,sys def main(): host="remotemachine" username="adminaam" password="passpass!" server =connects(host,username,password) s = socket.socket() s.settimeout(5) print server.run_remote('hostname') class connects: def __init__(self,host,password,s = socket.socket()): self.host=host self.username=username self.password=password self.s=s try: self.connection= wmi.WMI(self.host,user=self.username,password=self.password) self.s.connect(('10.10.10.3',25)) print "Connection established" except: print "Could not connect to machine" def run_remote(self,cmd,async=False,minimized=True): call=subprocess.check_output(cmd,shell=True,stderr=subprocess.STDOUT ) print call main()
您可以使用以下两种方法将一台计算机连接到网络中的另一台计算机:
>使用WMI库. WMI 以下是使用wmi模块进行连接的示例: ip = “192.168.1.13” username = “username” password = “password” from socket import * try: print "Establishing connection to %s" %ip connection = wmi.WMI(ip,user=username,password=password) print "Connection established" except wmi.x_wmi: print "Your Username and Password of "+getfqdn(ip)+" are wrong." netuse 第二种方法是使用netuse模块. 通过Netuse,您可以连接到远程计算机.您可以访问远程计算机的所有数据.可以通过以下两种方式实现: >通过虚拟连接进行连接. import win32api import win32net ip = '192.168.1.18' username = 'ram' password = 'ram@123' use_dict={} use_dict['remote']=unicode('\192.168.1.18C$') use_dict['password']=unicode(password) use_dict['username']=unicode(username) win32net.NetUseAdd(None,2,use_dict) 断开连接: import win32api import win32net win32net.NetUseDel('\192.168.1.18',win32net.USE_FORCE) >在本地系统中安装远程计算机驱动器. import win32api import win32net import win32netcon,win32wnet username=’user’ password=’psw’ try: win32wnet.WNetAddConnection2(win32netcon.RESOURCETYPE_DISK,'Z:','\192.168.1.18D$',None,0) print “connection established successfully” except: print “connection not established” 要在本地系统中卸载远程计算机驱动器: import win32api import win32net import win32netcon,win32wnet win32wnet.WNetCancelConnection2('\192.168.1.4D$',1,1)
资料来源:Connect remote system. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Windows上获取PILow而不是Pillow for Python 2.7 64位
- Windows程序设计中Unicode的认识
- 如何评估Windows环境变量?
- 如何使用.net获取Windows服务的phyiscal路径?
- iis-7 – 在Windows 7上的经典ASP中执行ServerXMLHTTP.send
- windows – 是否有一个’Mercurial Notifier’程序会告诉我
- windows – 如何从以前的会话中搜索Powershell命令历史记录
- .net – 为Windows窗体控件提供百分比宽度/高度
- 有没有找到Windows DLL的MD5或其他校验和的地方?
- 如何在WPF中创建Windows 8风格的应用栏?