
저는 Windows 8.1 x64를 사용하고 있으며 사용자 로그인 시 관리자 권한으로 프로그램을 실행하고 싶습니다.
프로그램의 바로가기를 만들어보고 바로가기 속성이나 프로그램 자체에서 "관리자 권한으로 실행"을 체크하고 C:\Users\MyUser\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
또는 에 바로가기를 넣었는데 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
체크박스를 체크하면 그냥 무효가 되었습니다.
그런 다음 Resource Hacker로 프로그램을 편집하여 이 프로그램에 관리자 권한이 필요하도록 매니페스트를 수정했습니다. 이로 인해 시작 디렉터리 아래의 바로 가기도 유효하지 않게 되었습니다. 그래서 이후에 프로그램을 추가해 보려고 했는데 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
역시 안 되더라고요.
사용자 로그인 시 관리자 권한으로 프로그램을 어떻게 실행할 수 있습니까?
답변1
이를 수행하는 가장 좋은 방법(관리자 권한으로 실행하고 UAC 프롬프트 없이 실행하려는 경우 유일한 간단한 방법)은 예약된 작업을 생성하는 것입니다. 여기에서 실행할 사용자를 지정할 수 있을 뿐만 아니라 "가장 높은 권한으로 실행"해야 한다고 지정할 수도 있습니다. "관리자 권한으로 실행" 확인란 버튼이 실제로 관리 사용자를 사용하는 대신 UAC 프롬프트를 실행하기 때문에 이것이 실제로 원하는 것일 수 있습니다. 트리거를 "사용자 로그온 시"로 지정하면 시작 또는 실행 키를 사용하는 것과 동일한 효과가 있어야 합니다.
또는 /savecred 옵션과 함께 runas를 사용하여 다른 사용자의 비밀번호를 한 번 저장하고 영원히 캐시하도록 할 수 있지만 UAC afaik에서는 작동하지 않습니다.
답변2
다음을 포함하는 appStart.cmd와 같은 파일을 만듭니다.
start "" %1
두 번째로 레지스트리에 추가해야 합니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
키-값 쌍
키:"앱 이름"
값:"appStart.cmd 경로" "myapp.exe 경로"
이렇게 하면 Windows가 시작될 때 명령 프롬프트에서 앱을 호출하고 관리자로 실행할 수 있는 권한을 요청합니다. 명령 프롬프트를 수락한 후 닫으면 앱이 관리자 권한으로 실행됩니다.