您的位置:首页 > 其它

mac远程连接Windows电脑 执行bat脚本

2018-03-03 17:00 369 查看

第一次接触Linux远程执行Windows脚本,刚开始国内相当多的资料一大批其实都是Windows作为远程执行其它机器的。

后来接触pywinrm这个开源框架,又想想ansible的一个控制Windows的情况,好像是可以实现的。其是后来看看两者都借助winrm这个模块而已。

Requirements:

参考这个地址:点击打开链接 虽然它提到的是ansible,但是我觉得非常讲的不错。
Windows需要条件如下,反正我是不懂windows的,只好拿过来了。这三个条件最好都能实现。
(1)    管理机必须为Linux系统且需预安装Python Winrm模块(2)    底层通信基于PowerShell,版本为3.0+,Management Framework版本为3.0+(3)    远程主机开启Winrm服务

在我的Windows机器D盘有一个demo.bat脚本,内容如下:



Mac主控机代码

# coding:utf-8
try:
import winrm
except ImportError,e:
print e
try:
s = winrm.Session('192.168.1.101', auth=('Administrator', 'DEMAxiya520!'))
# r = s.run_cmd('ipconfig')
# r = s.run_cmd('ipconfig', ['/all'])
get_dir = s.run_cmd('d: & demo.bat')
except Exception,e:
print e
print "connection in windows was failed!"
print ("status_code",get_dir.status_code)
print ("std_out",get_dir.std_out)
print ("std_err",get_dir.std_err)
执行结果:/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/feixiaohui/github/untitled/demo_pywinrm.py
('status_code', 0)
('std_out', '"hello world!"\r\n')
('std_err', '')

Process finished with exit code 0其中第二三四行显示的就是执行的结果。

终于实现了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: