1、在Linux服務器上的處理
首先需要在Linux中安裝python,並且安裝pywinm庫。安裝之前首先需要安裝isodate和xmlwitch兩個依賴包,在安裝pywinrm。下面是安裝時用到的命令。
pip install isodate
pip install xmlwitch
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 set winrm/config/service/auth '@{CredSSP="true"}'
第五步:為winrm service 配置加密方式為允許非加密:
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
檢驗是否配置成功
winrm get winrm/config/service/auth
下面就是在linux可以遠程操作Windows的python代碼
import winrm win = winrm.Session('http://windowsip:5985/wsman',auth=('windows管理員賬戶','windows管理員密碼')) r = win.run_cmd('history') #執行cmd命令 print(str(r.std_out,encoding='gbk')) # 打印獲取到的信息 print(str(r.std_err,encoding='gbk')) #打印錯誤信息
下面python2的代碼,略微一點不一樣
# -*- coding:utf-8 -*- import winrm win = winrm.Session('http://Windowsip:5985/wsman', auth=('windows管理員賬戶', 'windows管理員密碼')) # 連接windows r = win.run_cmd('ipconfig') # 執行cmd命令 print(r.std_out) # 打印獲取到的信息 print(r.std_err) # 打印錯誤信息