시나리오는 관리자로 서비스를 실행하고 있습니다.일시적으로 표고를 낮추는 방법
사용자 정의 코드를 실행하는 문구가 있습니다 (스크립팅을 고려하십시오). 그것은 어셈블리를 생성하고 타입을 생성하고 (코드를 기반으로) 메소드를 호출하기 위해 코드 롬 컴파일을 사용합니다.
설명 문구가 지속되는 동안 관리자 권한을 일시적으로 삭제 한 다음 나중에 복원하고 싶습니다.
시나리오는 관리자로 서비스를 실행하고 있습니다.일시적으로 표고를 낮추는 방법
사용자 정의 코드를 실행하는 문구가 있습니다 (스크립팅을 고려하십시오). 그것은 어셈블리를 생성하고 타입을 생성하고 (코드를 기반으로) 메소드를 호출하기 위해 코드 롬 컴파일을 사용합니다.
설명 문구가 지속되는 동안 관리자 권한을 일시적으로 삭제 한 다음 나중에 복원하고 싶습니다.
내가 링크에 설명 된대로 샌드 박스 응용 프로그램 도메인에서 코드를 실행 결국 :
방법 : 일부
http://msdn.microsoft.com/en-us/library/bb763046%28v=vs.100%29.aspx
나는 당신이 묘사하는 방식으로 권한을 "떨어 뜨릴"수 있다고 생각하지 않는다. 귀하의 서비스가 사용자로 실행 중이며 해당 사용자에게 일정량의 액세스가 허용됩니다. Windows에 일시적으로 더 많은 권한 (UAC의 모든 것)을 부여하도록 요청할 수 있지만 사용자에게 줄 것을 요청할 수는 없습니다.
적절히 낮은 수준의 액세스 권한으로 스크립트를 실행하고 사용자 지정 코드 기간 동안 해당 사용자를 가장하기 위해 두 번째 사용자를 시스템에 만듭니다.
[편집] 내가 무슨 말을하는지 모르겠다. 이 링크에 따르면 UAC는 제한된 권한 집합을 만들어 해당 컨텍스트에서 코드를 실행함으로써 역순으로 구현됩니다.
당신은 확실히 맞습니다. 죄송합니다 ... – MarcE
그래서 샌드 박스에서 코드를 신뢰할 수있는 실행 무엇이 널 멈추게 해? – Tarec
나는 이것을 어떻게하는지 모른다. 나는 IDisposable을 구현하고 생성자에서 높이를 떨어 뜨리고 소멸자에서 그것을 복원하는 클래스를 만드는 것을 상상하고 있습니다. 그러나 호출이 높이를 떨어 뜨리고 복원하는 것이 무엇인지 알지 못합니다. 나중에 복원 할 수 있도록 높이의 현재 "상태"를 알아야 할 수도 있습니다. – Derek
서비스에서 시작되는 별도의 프로세스에서 콜 아웃을 호출 할 수 있습니까? 가능하면 http://stackoverflow.com/q/1173630을 참조하십시오. – AlexD