2016-06-28 67 views
4

pythonでpowershellコードを実行する方法はありますか?私は周りを探索してきましたが、私が見つけたのは、別のPSスクリプトファイルをPythonで実行する方法ですが、PSコードを実行する方法はありません。pythonでpowershellコードを実行する方法はありますか?

例:私はその一例で、私はただのPythonを使用してファイルを実行することができ理解

Start-Process -filepath "Path\Filename.exe" -wait 

...プログラム\のは、私はPythonスクリプトの内部から、このコマンドを実行したいとしましょう。私はPythonアプリケーションを書くことを検討していますが、実際には何をする必要があるのか​​は、背後にあるPowerShellコードを使用します。私のアプリのアイデアの場合、Office 365に接続して、ユーザーのアカウント情報(追加、削除など)や365管理サイトではできないことを操作します。私はすでにこれを行うためのPSスクリプトを持っていますが、私はGUIインターフェースを探しています。そして、PythonはGUIのためのより良い選択と思われます(私が見て遊んだものまで)。

これが不可能な場合や、それが価値よりも痛い場合は、私はいくつかの提案を感謝します。私はC#やそのようなものを調べるべきですか? Pythonは理解しやすくなりました。

ありがとうございました。

+0

一般的なコンセンサスは、以下の回答からわかります。これは正しいです? – sloppyfrenzy

答えて

1

だけでは、パスと実行ポリシーを指定するには、追加のパラメータが必要な場合があります

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

(未テスト)を開始したpowershell.exe。

+0

ありがとう、エッベン。しかし、それはちょうど別のパワーシェルスクリプトを呼び出すようです。私はPowerShellのコードをPythonスクリプトの中に埋め込みたいと思っています。それは\ packageをEXEファイルに変換して共有するほうがずっと簡単です。 – sloppyfrenzy

2

exeファイルにPowerShellスクリプトを埋め込みたい場合は、おそらくvC++を使用します。

あなたはここにcmdを

でコマンドを実行するために<stdlib>system機能を使用することができますコードです:

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

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

が、このコードは、あなたの地元のボックスにps1ファイルを持っている必要があります。


私の提案は、リモートから実行することです。 GitHubの上であなたに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; 
} 
+0

ありがとう、私はそれを見てみましょう! – sloppyfrenzy

0

は、あなただけのPowerShellスクリプトファイルを作成し、それを呼び出すことができませんでしたか? (未テスト)

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

はい、できません。ありがとう。 – sloppyfrenzy

関連する問題