当我尝试从Python函数调用powershell
时收到以下错误:
无法加载PSReadline模块。控制台在没有PSReadline的情况下运行。
我有一个名为ps_cli()
的函数,它是:os.system("powershell -NoProfile")
以前在Windows 7和8计算机上工作(我目前无法访问),而且我读过的一些内容可能与Windows 10计算机上的PowerShell 5有关。我写的工具背后的想法是,它可以在具有适当权限的帐户上使用任何现代版本的Windows。由于我正在编写更高级的脚本,这似乎会导致几秒钟的延迟,我想知道如何在不做的情况下摆脱这个:
使用参数
-PSConsoleFile
和先前使用Export-Console
导出的PSConsoleFile打开Powershell。
我在一个论坛帖子中提到了这一点。任何想法将不胜感激!
答案 0 :(得分:3)
PSReadline
- 模块是Powershell 5.0(在Win10上)的新内置模块,可提供增强的控制台体验。由于它是内置的,所以不应该是执行策略的问题(即使它由于某种原因没有签名),但是检查它永远不会受到伤害。这有用吗?
os.system("powershell -NoProfile -ExecutionPolicy ByPass")
您使用的是第三方控制台吗?该模块可能与conhost.exe
以外的控制台不兼容(cmd和powershell使用的窗口中的默认设置)。
一个肮脏的解决方法是简单地清除屏幕:
os.system("powershell -NoProfile -NoExit -Command cls")