2011-01-10 27 views
4

관리자 권한으로 Windows 7 명령 줄에서 다음 스크립트를 시작합니다.Python : 관리자 권한으로 프로세스를 시작하는 방법

import win32com.client 
import time 
import SendKeys 
import os 
from ctypes import * 

shell = win32com.client.Dispatch("WScript.Shell") 

os.startfile("C:\...exe") 

또한 속성> 호환성> 권한 수준에서 '관리자 권한으로이 프로그램 실행'을 python.exe에 지정했습니다. 이것은 아무것도 바뀌지 않았습니다.

이 프로그램을 열면 프로그램이 두 번 클릭하면 열리는 방식이 다르게 동작합니다. 여기서 중요한 걸 잃어 버렸나요? 이런 식으로 호출 된 프로세스가 관리자 권한으로 시작한 것처럼 실행되지 않습니까?

미리 도움을 주셔서 감사합니다!

건배 -

+0

[Windows에서 상승 된 권한으로 파이썬 스크립트를 실행하는 법] 가능한 복제본 (http://stackoverflow.com/questions/19672352/how-to-run-python-script-with-elevated-privilege-on-windows)) –

답변

2

나는 Vista 또는 Windows 7에 액세스 할 수없는,하지만 당신은 runas 명령을 사용할 수 있어야합니다.

+4

감사합니다, Chinmay ... 나는 이것을 시도하고 파이썬 쉘에 의해 관리자 암호를 묻는 메시지가 나타납니다. 올바른 암호를 입력하면 LOGIN FAILURE로 거부되었습니다. 암호를 실수로 입력하지 않았는지 확인하기 위해 여러 번했습니다. 나는 정말로 무슨 일이 일어나고 있는지 이해하지 못합니다. 또한 관리자 셸에서 스크립트를 실행하는 경우 왜 이렇게 하위 프로세스를 시작해야하는지 이해할 수 없습니다. 이걸 이해하도록 도와 주실 수 있습니까? – pat

+0

@pat 이벤트 관리자가 아마도 당신이 사용하고자하는 사용자가 아니기 때문에 당신이 로그인 할 수없는 이유는 스레드를 조금씩 되살리는 것입니다. 당신은 시도해야합니다 :''/ user : [[dommainName ] \\] userName'' – Xeltor

+0

이것은 유용한 해결책이지만 사용자 Back2Basics가 여기에 표시 한 것처럼 stdin에 쓰는 부분이 누락되어 있다고 생각합니다. http://stackoverflow.com/questions/20505893/set- administrator-privileges-to-subprocess-check-call-in-python – LastTigerEyes

0

확인 ... 문제가 무엇인지 알았습니다. 그것은 나의 초기 의혹에 반하여 허가와는 아무 상관이 없었습니다. 미안합니다!

응용 프로그램이 제대로 작동하지 않는 이유는 Python 스크립트가 다른 디렉토리에서 찾아져 호출 되었기 때문입니다. 따라서 응용 프로그램의 종속성 중 일부가 올바르게 참조되지 않았으므로 제대로 실행하는 데 필요한 파일 중 일부를 찾을 수 없습니다. python 스크립트를 호출 된 응용 프로그램과 동일한 디렉토리로 이동하는 것이 그 문제를 해결하는 한 가지 방법이었습니다.

죄송합니다. 문제가 된 것으로 보이는 최초의 해석을 잘못해서 유감입니다.

관련 문제