2013-06-26 5 views
1

연속적 통합 서버에 대한 테스트 노드를 설정 중입니다. 응용 프로그램의 GUI 테스트를 수행해야합니다. 따라서 생성 된 설치 패키지를 가져 와서 다른 대화 형 테스트를 실행하기 전에 응용 프로그램을 자동으로 설치합니다. 그러나 한 가지 문제가 있습니다. UAC.Windows 태스크를 한 번 (admin으로) 작성하여 즉시 실행하십시오.

현실적인 테스트 환경을 유지하기 위해 UAC를 비활성화하지 않으려면 응용 프로그램을 설치하기 위해 UAC를 한 번 무시해야합니다. 이를 수행하는 데는 여러 가지 방법이 있지만 일반적으로 Windows 작업 스케줄러를 사용하는 것으로 보입니다. 작업을 일반 사용자로 추가하고 더 이상 확인하지 않고 관리자로 실행되도록 구성 할 수 있습니다. 나는 schtasks /create 명령을 사용할 수는 있지만 매개 변수가 명확하지 않습니다. 또한 /? 도움말의 매개 변수 값이 내 시스템에서 독일어로 번역 된 것으로 보이며 이것이 버그이며 값이 실제로 영어로 지정되어야한다고 믿습니다.

또한 작업을 즉시 한 번 실행 한 다음 삭제하고 내 다른 활동 (배치 파일에서 모두)으로 계속 진행하기 만하면됩니다. 어떻게 schtasks 전화가 이것처럼 보이나요? 이 같은 뭔가를 시작 했죠,하지만 불완전 :

schtasks /create /tn "Testaufgabe" /tr "setup.exe" /sc EINMAL /it /np /z /rl /f 

PS를 : 아, 그리고 내가 시작 응용 프로그램이 내가 다른 작업을 계속 할 수있을 때까지 완료 될 때까지 기다릴 필요가있다. 따라서 프로그램 호출은 백그라운드가 아닌 동기식이어야합니다. 나는 몇 시간 동안 웹을 수색했지만 이것을 달성 할 수있는 방법을 찾지 못하고있다. UAC는이 시나리오에서는 사용할 수없는 것으로 보입니다. 테스트 케이스에서는 사용자가 필요하기 때문에 필요합니다.

업데이트 : 작업 스케줄러 API를 사용하여 가장 높은 권한으로 실행되는 작업을 등록 할 수 없습니다. 이는 내 작업에 유용하지 않은 작업을 생성 할 때 관리자 권한이있는 경우에만 가능합니다. 그래서 schtasks.exe를 구체적으로 사용해야한다고 생각합니다.

답변

2

작동하지 않습니다. 방금 명령 줄에서 XML 정의 파일을 사용하여 작업을 만드는 방법을 알아 냈습니다. 작업이 관리자 권한으로 실행되고 효과적 관리자로 등록되지 않으려는 경우 실패합니다. 따라서 schtasks는 UAC 확인과 관련이 없으며 작업 스케줄러 GUI 만 있습니다. 사실,이 창 (mmc.exe)을 처리하는 프로세스는 이미 UAC 확인이없는 admin으로 시작되었으므로 그러한 관리 작업을 만드는 것이 가능합니다.

저는 UAC 확인을 우회하려고합니다. 대신 암호를 알고있는 다른 로컬 관리자 계정에서 설치 실행 파일을 시작합니다 (psexec 포함). 그것은 테스트 사용자의 프로파일과 환경을 가지지 않을 것이고 조금 다른 세부 사항을 할 수도 있지만, 결국 이것이 작동해야하는 방법입니다.

관련 문제