c++ 작업 스케줄러 > 가장 높은 수준의 권한으로 실행

예제에는 가장 높은 수준의 권한으로 실행시키는 옵션이 없다.




ITaskSettings 에서 priority 메소드를 이용해서 

권한을 HIGH_PRIORITY_CLASS로 부여해도 저 체크 박스는 여전히 체크가 되어 있지 않음..


현재 사용중인 인터페이스에서

작업의 속성을 변경 시킬 수 있는 옵션을 모두 찾았는데 못 찾았음...


사용중이 아니여서 찾을 수가 없었다 

작업 정의를 구성요소를 다시 살펴 본 결과


작업정의
Actions작업에서 수행하는 임무를 정의하는 한 개 이상의 동작입니다.
Triggers작업이 시작할 때를 나타내는 한 개 이상의 트리거입니다.
Principal권한 부여와 감사는 보안 컨텍스트에 바탕을 둡니다.
Settings이러한 설정으로 런타임 동작을 제어하고 작업을 제한할 수 있습니다.
Data동작에 사용할 수 있는 문자열입니다.
RegistrationInfo관리 기록 정보입니다.


저런게 있었음 저 Principal

을 이용하여 가장 높은 수준의 권한으로 실행 가능하다


사용 방법은


IPrincipal의 인터페이스 포인터를 반환 받아

put_RunLevel 메소드를 이용하여 가장 높은 수준의 권한으로 실행하도록 설정한다.

그리고 받은 포인터는 해제 한다.


IPrincipal *pPrincipal = NULL;

pTask->get_Principal(&pPrincipal);


pPrincipal->put_RunLevel(TASK_RUNLEVEL_HIGHEST);


pPrincipal->Release();




속성 값은 아래와 같다

ValueMeaning
TASK_RUNLEVEL_LUA
0

Tasks will be run with the least privileges.

TASK_RUNLEVEL_HIGHEST
1

Tasks will be run with the highest privileges.




TASK_RUNLEVEL_HIGHEST 로 설정하면

가장 높은 수준의 권한으로 실행 가능하다


'c/c++' 카테고리의 다른 글

windows 버전 체크  (0) 2014.03.11
c++ 작업 스케줄러 동작 추가  (0) 2014.03.05
c++ 관리자 권한으로 프로그램 실행시키는 방법  (0) 2014.03.03
스레드 생성  (0) 2013.04.05
정규식 표현  (0) 2013.03.27