我是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, username, 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()
您可以使用^{} library 代替它,它是跨平台兼容的。
下面是一个简单的代码示例:
通过
pip install pywinrm requests_kerberos
安装库。下面是this page中在远程主机上运行Powershell脚本的另一个示例:
也许您可以使用SSH连接到远程服务器。
在windows服务器上安装freeshd。
SSH客户端连接代码:
执行命令并获得反馈:
您可以使用以下两种方法将一台计算机连接到网络中的另一台计算机:
WMI
下面是使用wmi模块连接的示例:
网络使用
第二种方法是使用netuse模块。
通过Netuse,您可以连接到远程计算机。你可以访问远程计算机的所有数据。有以下两种可能:
通过虚拟连接连接。
断开连接:
在本地系统中安装远程计算机驱动器。
要在本地系统中卸载远程计算机驱动器,请执行以下操作:
来源:Connect remote system。
相关问题 更多 >
编程相关推荐