在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:初次发布。
链接