Python 使用 pywinrm 连接 WinRM 服务【基于CMD和Powershell不一样的实现】

Python Tricks —— 使用 pywinrm 远程控制 Windows 主机 - 简书

由于powershell和CMD运行某些命令不一定兼容,建议使用Powershell来运行,因为python如何使用CMD运行,可能某些程序由于权限问题,可能无法达到预期!! 

1、建议使用Powershell来执行windows命令,因为python远程调用CMD可能某些命令因权限问题,无法达到预期结果!
2、比如使用python远程启动逍遥模拟器和ADB连接命令时,总是同时启动后无法正常连接的问题,基于Powershell就可以正常解决!

安装 pywinrm 库:pip install pywinrm

执行 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'

执行 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'

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WinRM服务是一种Windows远程管理技术,可以让管理员在远程系统上执行命令、获取信息和配置设置。而DSC(Desired State Configuration)是一种管理配置的技术,可以自动化地部署、配置和管理Windows系统和应用程序。 以下是WinRM服务和DSC配置和使用方法的简要概述: 1. 配置WinRM服务使用WinRM服务,需要先在Windows系统上配置它。可以通过以下步骤打开WinRM服务: a. 打开“Windows PowerShell”或“命令提示符”窗口。 b. 输入“winrm quickconfig”命令,并按Enter键。 c. 按照提示回答问题,以完成WinRM服务的配置。 2. 使用WinRM服务 一旦已经配置了WinRM服务,就可以使用它来远程管理Windows系统。 a. 打开“Windows PowerShell”或“命令提示符”窗口。 b. 输入“Enter-PSSession -ComputerName <RemoteComputerName>”命令,并按Enter键。 c. 输入远程系统的凭据(如果需要)。 d. 在远程系统上执行所需的操作。 3. 配置和使用DSC 要使用DSC来管理Windows系统和应用程序,需要先了解DSC资源和配置文件。 a. DSC资源是一种PowerShell模块,用于定义所需的系统配置。 b. DSC配置文件是一种PowerShell脚本,用于指定要使用的DSC资源和其配置。 以下是使用DSC的简要步骤: a. 安装所需的DSC资源(如果需要)。 b. 创建DSC配置文件,并指定要使用的DSC资源和其配置。 c. 在目标系统上运行DSC配置文件,以自动化地部署、配置和管理系统和应用程序。 d. 可以使用DSC的“状态检查”功能来验证系统是否已按预期进行配置。 以上是WinRM服务和DSC配置和使用方法的简要概述,具体的细节和操作可能会有所不同,具体情况需要根据实际需要进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值