【发布时间】:2015-07-22 06:13:09
【问题描述】:
我正在创建一个 Python 脚本,它调用需要导入 Active-Directory 模块的 Powershell 脚本script.ps1。但是,每次我使用
check_output('powershell.exe -File script.ps1')
它需要为每次运行 script.ps1 重新导入活动目录模块,这使得运行时间比它需要的时间长约 3 秒。
我当时想知道,是否有办法保持 Powershell 模块的导入(就好像它是直接从 Powershell 运行,而不是从 Python 运行一样),以便我可以使用类似
if(-not(Get-Module -name ActiveDirectory)){
Import-Module ActiveDirectory
}
加快执行时间。
【问题讨论】:
-
什么版本的 PowerShell?
-
你可以让“主机配置文件”在加载 powershell 时加载它
-
@Luke 不会节省任何时间,这就是这样做的既定目的。您只需更改 where 每次导入模块。
-
Python 在做什么?你能把它全部转换成 Powershell 吗?
-
@Luke Python 正在托管一个 Flask Web 应用程序,用于为用户搜索活动目录信息。因为我当前的解决方案需要在每次运行时重新导入
ActiveDirectory模块,所以搜索速度非常慢。
标签: python powershell subprocess powershell-2.0