2014-06-16 3 views
1

파이썬 스크립트가 있고 PowerShell cmdlet을 실행하려고합니다. 온라인에서 보았을 때 PowerShell 스크립트를 실행하고 있지만 cmdlet을 스크립트에 작성한 다음 실행을 위해 소싱하는 것이 필요한 것보다 훨씬 오래 걸릴 것 같았습니다.Python 스크립트에서 PowerShell cmdlet 실행

cmd = subprocess.Popen(['C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe', ps_cmdlet]) 

을하지만 ps_cmdlet는 값으로 파워 쉘 cmdlet를 파이썬 문자열 변수입니다 :

나는 다음과 같은 방법으로 subprocess.Popen를 사용하여 시도했습니다. 그래서, 분명히 "No such file or directory"오류가 발생합니다. IronPython과 같은 것을 사용하지 않고 python 스크립트에서 powershell cmdlet을 실행할 수있는 방법이 있습니까?

감사합니다.

subprocess.call(ps_cmdlet) 

편집 :

답변

0

다음 시도 (ps_cmdlet는 파이썬 문자열) 다음의 예는 그 출력 파워 쉘에 컴퓨터의 IP 구성됩니다

ps_cmdlet = 'ipconfig' 
subprocess.call(ps_cmdlet) 

또 다른 편집 : 또 다른 방법 나와 맞는 작품은 다음과 같습니다.

ps_cmdlet = 'whatever command you would enter in powershell' 
p = subprocess.Popen(ps_cmdlet,stdout=subprocess.PIPE) 
p.communicate() 
+0

"No such file or directory error"가 표시됩니다. 난 그냥 시도하고있다 : 수입 서브 프로세스 cmdlet을 = "시작 서비스에 lanmanserver" subprocess.call (cmdlet를) – eltaco431

+0

당신에게 오류가 subprocess.call에서 발생하는되어 확신을? –

+0

추적 (가장 최근의 마지막 통화) : "test.py"파일, 4 번 줄? subprocess.call (ps_cmdlet) 파일 "/usr/lib64/python2.4/subprocess.py", 419 번 줄에 반환 Popen (* args, ** kwargs) .wait() 파일 "/ usr/errread, errwrite) 파일 "/usr/lib64/python2.4/subprocess.py", 줄 996, _execute_child 파일 raise child_exception OSError : [/ lib/python2.4/subprocess.py ", 줄 550, __init__에서 Errno 2] No such file or directory – eltaco431

관련 문제