在WMI(RPSOWMI)上的远程PowerShell

rpsowmi的Python项目详细描述


远程powershell over wmi(rpsowmi)使您能够在支持stdin、stdout、stderr的情况下运行powershell代码,并通过远程主机上的windows管理规范(wmi)返回代码。

与powershell代码的通信是通过在executor的计算机上创建的两个命名管道(一个用于出站,另一个用于入站)完成的,这意味着您的访问权限必须具有足够的特权,不仅可以在远程计算机上创建新进程,还可以从远程计算机访问执行器计算机上的命名管道。

如何使用rpsowmi:

from rpsowmi import RemotePowerShellOverWmi as RPSoWMI
from wmi import WMI  # https://pypi.python.org/pypi/WMI/

rps = RPSoWMI(WMI())
r = rps.execute("Write-Host 'Hello, world'")
print(r.stdout)  # Just showing 'Hello, world'.

有关更多详细信息,请阅读rpsowmi.remotepowershelloversmi的pydoc。

已知问题

  • powershell代码的长度限制在2800个字符左右,因为代码是作为命令行参数的一部分传输的。
  • 行分隔符-cr、lf和crlf统一到lf(\n)中,rpsowmi和powershell代码之间的某个通信位置。
  • 行分隔符-lf(\n)可以附加到stdout和stderr,即使您的powershell代码没有这样做。

版本历史记录

  • V2017.4.11:初次发布。

链接

Build status

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX触控事件未触发Ubuntu 20.04触控笔记本电脑   java如何在AWT中关闭窗口?   java Dagger 2:注入具有构造函数参数的成员   创建对象的Java调用类   对象我想在A.java中添加两个数字,并在B.java中打印结果(如何?)   java如何使用AWS SDK for Android从数字海洋空间下载图像?   java Facebook sdk 4.0.1无法使用Android studio获取某些字段   4分钟后web应用程序(Angular 8和Rest API)中的java自动会话超时   在Eclipse for Java EE developers edition中禁用HTML警告   java按字母顺序排列字符串我错过了什么明显的东西吗?   java在Jshell中println和printf有什么不同