2016-06-28 4 views
4

python에서 powershell 코드를 실행하는 방법이 있습니까? 나는 주위를 둘러 보았고, 내가 찾는 것은 파이썬에서 별도의 PS 스크립트 파일을 실행하는 방법이지만, PS 코드를 실행하는 것은 없다.python에서 powershell 코드를 실행하는 방법이 있습니까

예 : ...의 내가 파이썬 스크립트 \ 프로그램 내부에서이 명령을 실행하고 싶은 말은 내가 파이썬을 사용하여 파일을 실행할 수있는 예제에서 이해

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

을 보자. 파이썬 앱을 작성하려고 합니다만 실제로 배후에서 파워 셸 코드를 사용하여 실제로 필요한 작업을 수행합니다. 내 앱 아이디어의 경우 Office 365에 연결하여 사용자 \ 계정 정보 (추가, 제거 등) 및 365 관리 사이트에서 수행 할 수없는 작업을 조작합니다. 이미이 작업을 수행하는 PS 스크립트가 있지만 GUI 인터페이스를 살펴본 결과 파이썬이 GUI에있어 더 나은 선택 인 것 같습니다.

이것이 가능하지 않거나 가치가있는 것보다 고통 스럽다면 몇 가지 제안을 부탁드립니다. C#이나 그와 비슷한 것을 조사해야합니까? 파이썬은 이해하기가 쉬워 보였다.

감사합니다.

+0

따라서 아래 답변에서 볼 수있는 일반적인 합의는 가능하지 않거나 실용적이지 않다는 것입니다. 이 올바른지? – sloppyfrenzy

답변

1

그냥 당신은 경로와 실행 정책을 지정하는 매개 변수를 추가해야 할 수도 있습니다

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

(테스트되지 않은)에는 powershell.exe를 시작합니다.

+0

고마워, 에센. 그러나, 그것은 단지 별도의 powershell 스크립트를 호출하는 것 같습니다. 나는 파이썬 스크립트 자체에 powershell 코드를 포함시키고 싶다. 그러면 \ 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

당신은 단지 파워 쉘 스크립트 파일을 작성하고 다음을 호출 할 수 있을까요? (테스트 안 함)

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

네,하지만하고 싶지 않습니다. 감사. – sloppyfrenzy

관련 문제