如果你的服務器是windows系統,不想一台一台mstsc遠程到桌面上去操作,python是有模塊可以遠程處理的:winrm
pip install pywinrm 安裝模塊即可
windows系統服務器需要開啟 winrm 服務
具體開啟方法:
cmd命令行輸入:
# 開啟服務 1.winrm quickconfig 會有兩次確認 # 查看監聽端口等信息 2.winrm e winrm/config/listener # 授權 3.winrm set winrm/config/service/auth @{Basic="true"} # 不加密模式 4.winrm set winrm/config/service @{AllowUnencrypted="true"}
上面的cmd命令可以寫成一個.bat文件,在服務器上直接執行即可:
bat命令:
echo y| winrm quickconfig echo y| winrm quickconfig winrm e winrm/config/listener winrm set winrm/config/service/auth @{Basic="true"} winrm set winrm/config/service @{AllowUnencrypted="true"}
因為有兩次手動確認的過程,寫了兩個echo y|解決。
以上准備工作做好就可以在python里操作了
舉個例子:
1 # -*- coding = utf-8 -*- 2 # ------------------------------ 3 # @time: 2020/9/1 17:54 4 # @Author: drew_gg 5 # @File: mstsc_windows.py 6 # @Software: api_locust 7 # ------------------------------ 8 9 import winrm 10 11 con = winrm.Session('http://49.37.168.224:5985/wsman', auth=("administrator", "23423423***")) 12 # 殺掉進程 13 con.run_cmd("taskkill /f /pid 6748")
“:5985/wsman”每台服務器上應該都是固定相同的。
關於winrm再擴展一些知識:
執行以下命令能夠以每組多達50個實例的速度獲取實例
winrm set winrm/config @{MaxBatchItems="50"}
通過增大分配的最大封包大小和超時設置,提高性能
winrm set winrm/config @{MaxEnvelopeSizekb="150"}
winrm set winrm/config @{MaxTimeoutms ="60000"}
獲取當前winRM配置
winrm g winrm/config
TrustedHosts 是一個數組,用於指定可信的遠程計算機的列表;同一工作組中的其他計算機或不同域中的計算機均應添加到此列表中;執行以下命令可將所有計算機都納入TrustedHosts
winrm s winrm/config/Client @{TrustedHosts="*"}
將客戶端計算機設置為使用基本身份驗證
winrm s winrm/config/Client/Auth @{Basic="true"}