欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python + winrm 實現(xiàn)遠程連接Windows服務器并執(zhí)行指定命令的操作過程

 更新時間:2023年10月10日 14:40:20   作者:夢因you而美  
Windows遠程管理(WinRM)是Windows Server 2003 R2,Windows Vista和Windows Server 2008中一種新式的方便遠程管理的服務,這篇文章主要介紹了python + winrm 實現(xiàn)遠程連接Windows服務器并執(zhí)行指定命令的操作過程,需要的朋友可以參考下

查到windows服務器連接的一個強大的第三方庫winrm,類似于paramiko模塊(實現(xiàn)遠程連接Linux虛擬機(服務器)并執(zhí)行指定命令返回輸出結果),只不過winrm是可以在Windows環(huán)境下執(zhí)行命令。Windows遠程管理(WinRM)是Windows Server 2003 R2,Windows Vista和Windows Server 2008中一種新式的方便遠程管理的服務。

windows上開啟winrm服務

winrm service 默認都是未啟用的狀態(tài),先查看狀態(tài),如無返回信息,則是沒有啟動。

打開powershell終端,輸入下列命令進行配置:

winrm enumerate winrm/config/listener

針對winrm service 進行基礎配置:

winrm quickconfig

如果出現(xiàn)“拒絕訪問”錯誤

解決方法:以管理員身份執(zhí)行。 

查看winrm service listener:

winrm e winrm/config/listener

為winrm service 配置auth:

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

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

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

注意:如果以上兩個命令執(zhí)行會報錯

錯誤: Invalid use of command line. Type "winrm -?" for help.

需要在@{Basic="true"}外部加單引號'才可以!

啟動/關閉winrm服務命令:net start/stop winrm

至此,winrm service 已經(jīng)啟用,可以正常使用

安裝python庫:winrm

安裝方法如下:

pip install pywinrm

這里進行了簡單的實踐,遠程連接Windows服務器后查詢服務器的IP信息:

代碼如下:

import winrm
def winCMD(hostip='hostip', username='username', password='password'):
    """
    在 windows 下執(zhí)行命令
    :param hostip: 遠程Windows服務器IP
    :param username: 遠程Windows服務器用戶名
    :param password: 遠程Windows服務器密碼
    :return:
    """
    wintest = winrm.Session('http://' + hostip + ':5985/wsman', auth=(username, password))
    # ret = wintest.run_cmd("cmd命令") 多個命令使用 & 符號連接
    ret = wintest.run_cmd("ipconfig")
    print(ret)
    # 正常輸出信息
    print(ret.std_out.decode())
    # 錯誤信息
    print(ret.std_err.decode())

 注:輸出中文亂碼問題解決方法,run_cmd()方法,修改self.protocol.open_shell(codepage=936)參數(shù)

def run_cmd(self, command, args=()):
    # TODO optimize perf. Do not call open/close shell every time
    # 中文編碼 codepage=936, 英文編碼codepage=437
    shell_id = self.protocol.open_shell(codepage=936)
    command_id = self.protocol.run_command(shell_id, command, args)
    rs = Response(self.protocol.get_command_output(shell_id, command_id))
    self.protocol.cleanup_command(shell_id, command_id)
    self.protocol.close_shell(shell_id)
    return rs

再記一些 winrm 比較常用的命令

winrm 這個命令在服務器端為什么是client的呢?我發(fā)現(xiàn)如果按照正常的命令來輸入的話應該是沒有問題的,我相信這個問題不是一個很難的問題,因為powershell遠程管理windows是系統(tǒng)管理員必備的功能,必須實現(xiàn),我覺得這幾種防范已經(jīng)把問題解決了,我只要慢慢搞應該能搞出來

執(zhí)行以下命令能夠以每組多達50個實例的速度獲取實例。

winrm set winrm/config @{MaxBatchItems="50"}

此外,通過增大分配的最大封包大小和超時設置,也可以提高性能。

winrm set winrm/config @{MaxEnvelopeSizekb="150"}
winrm set winrm/config @{MaxTimeoutms ="60000"}

下面列出了其他可選的WinRM配置命令,以便您參考。要獲取當前的WinRM配置設置,請執(zhí)行以下命令:

winrm g winrm/config

默認情況下,客戶端計算機要求對網(wǎng)絡流量加密。要允許客戶端計算機請求未加密流量,請執(zhí)行以下命令:

winrm s winrm/config/Client @{AllowUnencrypted="true"}

TrustedHosts 是一個數(shù)組,用于指定可信的遠程計算機的列表。同一工作組中的其他計算機或不同域中的計算機均應添加到此列表中。

注意:TrustedHosts 列表中的計算機未經(jīng)過身份驗證。

執(zhí)行以下命令可將所有計算機都納入TrustedHosts。

winrm s winrm/config/Client @{TrustedHosts="*"}

基本身份驗證是以明文形式將用戶名和密碼發(fā)送給服務器或代理的方案。這是最不安全的身份驗證方法。默認值為True。

執(zhí)行以下命令可將客戶端計算機設置為使用基本身份驗證:

winrm s winrm/config/Client/Auth @{Basic="true"}

到此這篇關于python + winrm 實現(xiàn)遠程連接Windows服務器,并執(zhí)行指定命令的文章就介紹到這了,更多相關python winrm 遠程連接Windows服務器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 對Matlab中共軛、轉置和共軛裝置的區(qū)別說明

    對Matlab中共軛、轉置和共軛裝置的區(qū)別說明

    這篇文章主要介紹了對Matlab中共軛、轉置和共軛裝置的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 如何使用python的opencv實現(xiàn)人臉識別

    如何使用python的opencv實現(xiàn)人臉識別

    這篇文章主要介紹了使用python的opencv實現(xiàn)人臉識別功能,本項目主要使用python語言,主要的模塊庫有os,opencv-python,opencv-contrib-python,需要的朋友可以參考下
    2023-12-12
  • Python制作豆瓣圖片的爬蟲

    Python制作豆瓣圖片的爬蟲

    本文給大家分享的是作者制作的爬取豆瓣首頁圖片的爬蟲代碼,代碼很簡單,大家可以參考下思路,希望可以幫到大家
    2017-12-12
  • python中PS 圖像調整算法原理之亮度調整

    python中PS 圖像調整算法原理之亮度調整

    這篇文章主要介紹了python中PS 圖像調整算法原理之亮度調整,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • python變量命名的7條建議

    python變量命名的7條建議

    這篇文章主要介紹了python變量命名的7條建議,如何給變量命名,如何讓它變得有意義成了程序員不可逾越的難題,需要的朋友可以參考下
    2019-07-07
  • 對python打亂數(shù)據(jù)集中X,y標簽對的方法詳解

    對python打亂數(shù)據(jù)集中X,y標簽對的方法詳解

    今天就為大家分享一篇對python打亂數(shù)據(jù)集中X,y標簽對的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python文件讀取的3種方法及路徑轉義

    Python文件讀取的3種方法及路徑轉義

    這篇文章主要介紹了Python文件讀取的3種方法及路徑轉義,本文分別給出讀取文件的代碼實例,最后講解了路徑轉義的相關知識、小技巧,需要的朋友可以參考下
    2015-06-06
  • Django Xadmin多對多字段過濾實例

    Django Xadmin多對多字段過濾實例

    這篇文章主要介紹了Django Xadmin多對多字段過濾實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python3簡單實現(xiàn)串口通信的方法

    Python3簡單實現(xiàn)串口通信的方法

    今天小編就為大家分享一篇Python3簡單實現(xiàn)串口通信的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python迭代器協(xié)議及for循環(huán)工作機制詳解

    Python迭代器協(xié)議及for循環(huán)工作機制詳解

    這篇文章主要介紹了Python迭代器協(xié)議及for循環(huán)工作機制詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07

最新評論