当我尝试从Python函数调用powershell时收到以下错误:



我有一个叫做ps_cli()的函数,它是:os.system("powershell -NoProfile")
当我调用它时,出现以下行为/错误:
python - 使用os.system调用PowerShell时出错-LMLPHP

这以前在Windows 7和8计算机(我目前无法访问)上起作用,并且从我读到的一些内容来看,可能与Windows 10计算机上的PowerShell 5有关。我正在编写的工具背后的想法是,它可以在具有适当特权的帐户上与任何现代版本的Windows一起使用。由于我正在编写更高级的脚本,因此这似乎会导致几秒钟的延迟,我想找出如何在不这样做的情况下消除此问题:



我看到的一个论坛帖子中建议了这一点。任何想法将不胜感激!

最佳答案

PSReadline -module是Powershell 5.0(在Win10上)中的新内置模块,可提供增强的控制台体验。由于它是内置的,因此执行策略应该不会有问题(即使由于某种原因未签名),但检查也不会有任何问题。这样行吗?

os.system("powershell -NoProfile -ExecutionPolicy ByPass")

您正在使用第三方控制台吗?该模块可能与conhost.exe(在cmd和powershell使用的Windows中为默认值)以外的其他控制台不兼容。

肮脏的解决方法是简单地清除屏幕:
os.system("powershell -NoProfile -NoExit -Command cls")

10-05 21:13
查看更多