如何从 python 运行 windows-powershell 命令?

Dee*_*pri 7 python powershell

我想从 python 执行以下命令,但没有得到输出:

get-winevent -logname Microsoft-Windows-TerminalServices-LocalSessionManager/Operational -ComputerName $env:COMPUTERNAME | where {$_.Id -eq "21"}
Run Code Online (Sandbox Code Playgroud)

我找到了一些解决方案,但它们也没有成功运行:

subprocess.Popen('powershell.exe [get-winevent -logname Microsoft-Windows-TerminalServices-LocalSessionManager/Operational -ComputerName $env:COMPUTERNAME] | where {$_.Id -eq "21"}')
Run Code Online (Sandbox Code Playgroud)

Tim*_*oad 7

使用该subprocess库可以在 Python 中运行 CMD 命令。为了运行 powershell 命令,您需要做的就是执行 C:\Windows\System32\powershell.exe 并传递参数。

下面是一些可以尝试的示例代码:

import subprocess

subprocess.call('C:\Windows\System32\powershell.exe Get-Process', shell=True)
Run Code Online (Sandbox Code Playgroud)

您可以将“Get-Process”替换为您需要的 PowerShell 命令

  • 不要对“powershell.exe”的位置进行硬编码。 (5认同)
  • 这意味着找不到可执行文件“C:\Windows\System32\powershell.exe”。找出 powershell 可执行文件在您计算机上的位置并相应地更改目录。 (2认同)