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

第一次接触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

其中第二三四行显示的就是执行的结果。


终于实现了!


猜你喜欢

转载自blog.csdn.net/feixiaohuijava/article/details/79431443
今日推荐