首页 > 解决方案 > 我可以从 Python 控制 Powershell 会话吗?

问题描述

我想初始化一个 powershell 子进程,并能够在 Windows 上使用 Python 向它发送命令并接收其输出。

请问有人可以帮忙举个简单的例子吗?我已经浏览了几乎所有其他与此类似的帖子,但我的具体问题没有任何运气......

我将运行此代码以自动化当前在 Powershell 上执行的手动过程。

这是对我想使用 Python 实现的目标的高级了解

  1. 我想使用 Python 启动一个 powershell 会话
  2. 然后CD进一个目录
  3. 在该目录中运行 powershell 脚本
  4. 显示/检索所有输出
  5. 并在同一会话中再次传递新命令,同时捕获输出

到目前为止,我所拥有的只是以下代码,它启动 powershell 并通过提供目录运行 .ps1 文件。我不确定如何从这里开始,或者考虑到上面显示的我需要采取的步骤,这是否是最好的方法。

p = subprocess.Popen(["powershell.exe", Powershell.exe -executionpolicy remotesigned -File 'G:\My Documents\helloworld.ps1';"].stdout=sys.stdout)

p.communicate()

运行上述代码后,python终端正确显示消息'Test Message'

标签: pythonpowershell

解决方案


推荐阅读