溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python Tricks如何使用pywinrm遠(yuǎn)程控制Windows主機(jī)

發(fā)布時間:2020-07-21 17:48:05 來源:億速云 閱讀:192 作者:小豬 欄目:開發(fā)技術(shù)

小編這次要給大家分享的是Python Tricks如何使用pywinrm遠(yuǎn)程控制Windows主機(jī),文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

啟用 WinRM 遠(yuǎn)程服務(wù): winrm quickconfig

查看 WinRM 服務(wù)監(jiān)聽狀態(tài): winrm e winrm/config/listener

C:\Windows\system32>winrm e winrm/config/listener
Listener [Source="GPO"]
  Address = *
  Transport = HTTP
  Port = 5985
  Hostname
  Enabled = true
  URLPrefix = wsman
  CertificateThumbprint
  ListeningOn = 127.0.0.1, 169.254.52.7, xx.xx.xx.xx, ::1, fe80::3989:dd91:e6b3:6f41%15, fe80::fd01:a9fd:c410:3407%12

允許使用 Basic 認(rèn)證方式: winrm set winrm/config/service/auth @{Basic="true"}

winrm set winrm/config/service/auth @{Basic="true"}
Auth
  Basic = true [Source="GPO"]
  Kerberos = true
  Negotiate = true
  Certificate = false
  CredSSP = false
  CbtHardeningLevel = Relaxed

允許 WinRM 使用非加密的連接: winrm set winrm/config/service @{AllowUnencrypted="true"}

方式二:bat 腳本

call winrm quickconfig -quiet
call winrm set winrm/config/service/auth @{Basic="true"}
call winrm set winrm/config/service @{AllowUnencrypted="true"}

方式三:組策略

定位到 計算機(jī)配置 -> 策略 -> 管理模板 -> Windows 組件 -> Windows 遠(yuǎn)程管理(WinRM) -> WinRM 服務(wù) 。

啟用 允許通過 WinRM 進(jìn)行遠(yuǎn)程服務(wù)器管理 、 允許基本身份驗(yàn)證 、 允許未加密通信

Python Tricks如何使用pywinrm遠(yuǎn)程控制Windows主機(jī)

建議同時啟用服務(wù)與防火墻策略:

計算機(jī)配置-> 策略 -> Windows 設(shè)置 -> 安全設(shè)置 -> 系統(tǒng)服務(wù) -> Windows Remote Management (WS-Management) ,啟動模式為自動。

計算機(jī)配置-> 策略 -> Windows 設(shè)置 -> 安全設(shè)置 -> 高級安全 Windows 防火墻 -> 高級安全 Windows 防火墻 - XXX -> 入站規(guī)則 ,開放 5985(HTTP)和 5986(HTTPS)端口。

二、Python 使用 pywinrm 連接 WinRM 服務(wù)

安裝 pywinrm 庫: pip install pywinrm

執(zhí)行 cmd 命令:

>>> import winrm
>>> session = winrm.Session('xx.xx.xx.xx', auth=('Administrator', 'admin_password'))
>>> cmd = session.run_cmd('ipconfig')
>>> cmd.std_out
b'\r\nWindows IP Configuration\r\n\r\n\r\nEthernet adapter \xd2\xd4\xcc\xab\xcd\xf8:\r\n\r\n  Connection-specific DNS Suffix . : example.com\r\n  Link-local IPv6 Address . . . . . : fe80::3989:dd91:e6b3:6f41%15\r\n  IPv4 Address. . . . . . . . . . . : xx.xx.xx.xx\r\n  Subnet Mask . . . . . . . . . . . : 255.255.255.0\r\n  Default Gateway . . . . . . . . . : 172.20.23.254\r\n\r\nEthernet adapter \xd2\xd4\xcc\xab\xcd\xf8 2:\r\n\r\n  Media State . . . . . . . . . . . : Media disconnected\r\n  Connection-specific DNS Suffix . : \r\n'

執(zhí)行 Powershell 命令:

>>> import winrm
>>> session = winrm.Session('xx.xx.xx.xx', auth=('Administrator', 'admin_password'))
>>> ps = session.run_ps('Get-Disk')
>>> ps.std_out
b'\r\nNumber Friendly Name Serial Number          HealthStatus     OperationalStatus   Total Size Partition \r\n                                                       Style   \r\n------ ------------- -------------          ------------     -----------------   ---------- ----------\r\n0   ST500DM002...       Z3TFS1S3       Healthy       Online         465.76 GB MBR    \r\n\r\n\r\n'

看完這篇關(guān)于Python Tricks如何使用pywinrm遠(yuǎn)程控制Windows主機(jī)的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI