관리자 권한으로 프로그램을 실행하면 어떻게 되나요?

관리자 권한으로 프로그램을 실행하면 어떻게 되나요?

네트워크 공유(Linux CIFS 서버)에 있는 Win7 exe를 실행하려고 합니다. 관리자가 아닌 사람이 공유를 생성했습니다(참조:Windows 7에서 공유 폴더에 액세스하는 데 문제가 있습니다.). exe가 포함된 폴더에서 파일을 읽고 편집하고 쓸 수 있습니다. exe를 읽을 수 있습니다(즉, 복사할 수 있습니다).

하지만 내가하려고 할 때달리다UAC 대화 상자를 두 번 클릭하고 확인하거나 "관리자 권한으로 실행"을 마우스 오른쪽 버튼으로 클릭하면 다음과 같은 결과가 나타납니다.

Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item.

실행하기 전에 exe를 로컬 디스크에 복사해야 합니까?

나는 (아직 답변이 허용되지 않음)에서 레시피를 따랐습니다.네트워크 공유에서 EXE를 어떻게 실행할 수 있나요?, 그러나 이는 exe 권한이 아닌 읽기 권한만 부여하는 것으로 보입니다.

(먼 관련:네트워크 드라이브에서 .exe를 실행할 수 없습니다..)

답변1

이는 예상되는(비록 특이한) 동작입니다.

네트워크 공유에서 프로그램을 실행하는 경우 몇 가지 방법으로 수행할 수 있습니다.

  1. 공유는 네트워크 드라이브에 매핑됩니다. 예: g:->\\server\share
  2. 공유는 공유에서 직접 액세스됩니다.\\server\share

첫 번째 문제는 관리자 권한으로 프로그램을 실행할 때 이미 문제를 일으킬 수 있으며 이에 대해서는 아래에서 설명하겠습니다.

관리자 권한으로 프로그램을 실행하면 어떻게 되나요?

관리자 권한으로 프로그램을 실행하면 새로운 환경이 생성되고 관리자 프로필이 로드됩니다. 사용자가 가지고 있는 권한을 사용하더라도 분명히 관리자 사용자에 대한 추가 권한이 있습니다. 결과적으로 네트워크 드라이브에 대한 매핑이 생성되지 않으므로 관리자 사용자의 프로필에 추가 네트워크 매핑이 없으므로 g:가 존재하지 않습니다.

공유의 보안 설정이 매우 엄격한 경우에도 관리자 사용자에게 권한이 없을 수도 있습니다.

문제를 해결하고 극복하는 방법은 무엇입니까?

분명히 파일을 로컬로 복사한 다음 실행할 수 있지만 이를 원하지 않는다고 가정하겠습니다.

먼저 관리자로 명령 프롬프트를 시작할 수 있습니다. 거기에서 다음 명령을 입력하십시오.

net use g: \\server\share

기존 공유와 일치하도록 드라이브와 공유를 교체하십시오.

이 명령 프롬프트 창이 열려 있는 동안에는 관리자 권한으로 실행 파일을 실행할 수 있으며 작동이 보장됩니다.

사용자에게 에 대한 권한이 없으면 \\server\sharenet use가 실패하고 이를 정확히 알려주는 오류가 표시되므로 이 문제가 어디에 있는지 알 수 있습니다.

권한이 양호하다면 \\server\share관리자 권한으로 실행 파일로 이동하여 실행하여 실행 파일에 액세스할 수도 있습니다. 이렇게 하면 다른 환경에서 먼저 네트워크를 공유해야 하는 요구 사항이 제거됩니다.

답변2

이 KB 문서에 설명된 대로 EnableLinkedConnections 값을 1로 설정해야 합니다.

UAC가 Windows에서 "자격 증명 프롬프트"로 구성된 경우 관리자 프롬프트에서 매핑된 드라이브를 사용할 수 없습니다.
https://support.microsoft.com/en-us/kb/3035277

  1. 레지스트리 편집기에서 다음 레지스트리 하위 키를 찾아 클릭합니다.

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

  2. 오른쪽 창에서 새로 만들기를 마우스 오른쪽 버튼으로 클릭한 다음 DWORD(32비트) 값을 클릭합니다.

  3. 새 레지스트리 항목의 이름을 EnableLinkedConnections.
  4. 레지스트리 항목을 두 번 클릭합니다 EnableLinkedConnections.
  5. DWORD 값 편집 대화 상자에서 값 데이터 필드에 1을 입력한 다음 확인을 클릭합니다.
  6. 레지스트리 편집기를 종료한 다음 컴퓨터를 다시 시작합니다.

답변3

일부 설치 프로그램은 에서 액세스할 수 있어야 NT AUTHORITY\SYSTEM하지만 네트워크 드라이브는 사용자마다 다릅니다. EnableLinkedConnections이 경우에는 도움이 되지 않습니다.

기존 네트워크 드라이브를 삭제하고 시스템 수준에서 다시 매핑하십시오. 그렇게 하려면 작업: net.exe및 인수:( use z: \\host\share\필요한 경우 비밀번호 제공)를 사용하여 예약된 작업을 만들고 이 작업을 실행하기 위한 계정을 로 변경합니다 NT AUTHORITY\SYSTEM. /PERSISTENT:yes작동하지 않는 것 같으므로 부팅 시 실행되도록 예약해야 합니다.

실행하면 전체 시스템에 네트워크 드라이브가 표시됩니다. Windows 탐색기에서는 연결이 끊긴 것으로 표시되지만 그럼에도 불구하고 작동합니다.

관련 정보