MenuIcon

Owl-Networks Archive

LoginIcon

Perl / Win32 - 현재 관리자 권한 하에서 실행 중인지 확인하기

| 분류: Perl | 최초 작성: 2012-10-22 11:19:44 |

윈도우 환경에서 프로그램을 작성하다 보면, 관리자 권한이 필요한 기능을 실행해야 하는 경우가 가끔 있습니다. 빌드된 실행 파일의 경우에는 실행시부터 관리자 권한을 줄 수 있도록 manifesto 를 적용하는 경우가 보통이지만, 일반 스크립트로 실행중이거나 manifesto 가 적용되지 않은 실행 파일로 실행하는 경우 등에는, 관리자 권한을 주는 것을 깜빡깜빡 잊게 되는 경우가 있습니다. 이 경우 이대로 계속 실행을 하게 되면 잘못된 결과를 받게 되겠죠.

이 경우, 현재 프로그램이 관리자 권한 하에서 실행 중인지 Win32 모듈을 사용하여 미리 확인할 수 있습니다. 만약 관리자 권한 하에서 실행된 것이 아니라면 오류 메시지를 출력하고 실행을 중단할 수 있겠지요.

use Win32();

if ( Win32::IsAdminUser() == 0 ) {
    print "현재 관리자 권한이 주어져 있지 않습니다. 관리자 권한을 주어 실행해 주세요.";
    exit;
}

반환값은 현재 관리자 권한 하에서 실행중이라면 0이 아닌 값을, 현재 관리자 권한 하에서 실행되고 있지 않다면 0 입니다. 관리자 권한 개념이 없는 윈도우 9x 환경에서는 항상 1을 반환하며, 오류가 발생한 경우 warning 메시지를 출력하며 undef 값을 반환합니다.

☞ 태그: Admin, Win32, isAdminUser, 관리자 권한, Win7,

☞ 트랙백 접수 모듈이 설치되지 않았습니다.

☞ 덧글이 없고, 트랙백이 없습니다.

덧글을 남기시려면 여기를 클릭하십시오.
[483] < [454] [453] [452] [450] [449] ... [446] ... [445] [443] [442] [441] [439] > [19]

(C) 2000-2018, Owl-Networks. Powered by Perl. 이 페이지는 HTML 5 표준에 따라 작성되었습니다.