Linux服務器遠程連接window服務器並執行cmd命令


  前段時間,要給一個分布式調度系統寫一個運維腳本,這個分布式調度系統部分子系統部署在window服務器上,這個時候就要想辦法用Linux遠程來連接window服務器,並執行cmd命令。下面是我的解決方法:

  1、在Linux服務器上的處理

    首先需要在Linux中安裝python,並且安裝pywinm庫。安裝之前首先需要安裝isodate和xmlwitch兩個依賴包,在安裝pywinrm。下面是安裝時用到的命令。

    安裝依賴包

pip install isodate
pip install xmlwitch

    安裝pywinrm

pip install pywinrm

  2、在window服務器上的操作

    在window服務器上,要打開winrm服務。下面是操作流程:

    第一步:用管理員權限打開windows powershell

    

    第二步:首先查看winrm service的運行狀態,默認情況是沒有開啟的;執行命令為空是沒有啟動。

winrm enumerate winrm/config/listener

    第三步:對winrm service進行配置

winrm quickconfig

    第四步:為winrm service 配置auth:

winrm set winrm/config/service/auth @{Basic="true"}

    第五步:為winrm service 配置加密方式為允許非加密:

winrm set winrm/config/service @{AllowUnencrypted="true"}

  3、下面是執行cmd命令的源碼

import winrm

win = winrm.Session('http://192.168.0.19:5985/wsman',auth=('wt','635870838'))
r = win.run_cmd('ipconfig')  #執行cmd命令
print(r.std_out.decode()) # 打印獲取到的信息
print(r.std_err) #打印錯誤信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM