프로그램이 관리자 권한으로 실행 중인지 확인하는 방법이나 Windows에서 관리자 권한으로 실행되도록 프로그램을 설정하는 방법을 묻는 스레드가 많은 것 같지만 제 질문은 프로그램이 관리자 권한 없이 실행되도록 구성되었는지 확인하는 방법입니다. 실제로 실행 중인가요? 자동 방식으로도 이를 확인할 수 있어야 합니다.
exe를 마우스 오른쪽 버튼으로 클릭하고 프로그램이 관리자 권한으로 실행되도록 구성되어 있는지 확인할 수 있다는 것을 알고 있지만, 실행 중인 앱이 특정 .exe가 관리자 권한으로 실행되도록 구성되어 있는지 알아야 하므로 이를 자동으로 확인할 수 있는 방법이 필요합니다. 관리 여부를 결정하고 해당 속성을 기반으로 결정을 내립니다.
답변1
표준 Windows UI에는 실행 파일이나 바로 가기가 관리자로 실행되도록 구성되어 있는지 확인할 수 있는 두 곳이 있습니다.
파일/바로가기의 속성을 열고...
- 을 위한단축키고급 버튼을 클릭하고 관리자 권한으로 실행 플래그를 확인하세요.
- 모두실행 파일그리고단축키호환성 탭을 엽니다.
이 두 위치의 설정은 동일한 효과를 가지지만 동일하지는 않습니다.
첫 번째는 바로가기의 속성이며 바로가기에 바인딩됩니다. 네트워크 위치의 바로 가기에 대한 속성을 설정한 다음 다른 컴퓨터에서 바로 가기를 실행하여 이를 테스트할 수 있습니다. 바로가기가 실행되기 전에 고도를 묻는 메시지가 표시됩니다.
두 번째(호환성)는 설정된 컴퓨터의 레지스트리에 저장되며, 한 컴퓨터에서 적용된 설정은 이러한 설정을 전파하는 다른 메커니즘 없이는 다른 컴퓨터에서 자동으로 표시되지 않습니다. 이는 사용자별 또는 모든 사용자 애플리케이션에 대해 레지스트리의 두 위치에 저장됩니다.
모든 사용자들:HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
사용자별:HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
이러한 내용은 프로그래밍 방식으로 읽을 수 있으며 기본 언어로 제공되는 표준 레지스트리 지원 구성 요소를 사용하여 스크립트에서 읽을 수 있습니다.