有没有办法在python中运行PowerShell代码

时间:2016-06-28 16:42:25

标签: python powershell

有没有办法在python中运行PowerShell代码?我一直在寻找,我发现如何在python中运行一个单独的PS脚本文件,但没有关于运行PS代码。

示例:假设我想从Python脚本\ program ...

中运行此命令
Start-Process -filepath "Path\Filename.exe" -wait

我理解在那个例子中我可以使用Python运行该文件。我正在研究编写一个Python应用程序,但它会在幕后使用一些PowerShell代码来实际执行它需要做的事情。对于我的应用程序的想法,它将连接到Office 365并操纵用户\帐户信息(添加,删除等)和365管理网站上无法做的事情。我已经有了一个PS脚本来完成大部分工作,但是我正在寻找一个GUI界面,python似乎是GUI的更好选择(就我所看到和使用的那样)。

如果这是不可能的,或者如果它比它更值得痛苦,我会感激一些建议。我应该看看C#还是那样的? Python似乎更容易理解。

感谢。

3 个答案:

答案 0 :(得分:2)

如果你想在exe中嵌入PowerShell脚本,可能就是vc ++。

您可以使用system中的<stdlib>功能在cmd中运行命令

这是代码:

#include "stdafx.h"
#include <stdlib.h>
using namespace std;

int main()
{
    system("@powershell -NoProfile -ExecutionPolicy Bypass <your PSScript path>");
    return 0;
}

但是此代码要求您在本地方框中输入ps1文件。

我的建议是从遥控器运行。在GitHub或gist上托管你ps1文件

#include "stdafx.h"
#include <stdlib.h>
using namespace std;

int main()
{
    system("@powershell -NoProfile -ExecutionPolicy Bypass -command (new-object net.webclient).downloadstring('<url to your script>")');
    return 0;
}

答案 1 :(得分:1)

启动powershell.exe(未经测试)

os.system("powershell.exe", "script.ps1")

您可能需要其他参数来指定路径和执行策略。

答案 2 :(得分:0)

你不能只写一个powershell脚本文件然后调用它吗? (另)

f = open("script.ps1")
f.write(...) #Script you want to run
f.close()
os.system("powershell.exe", "script.ps1")