관리자 권한 명령 프롬프트 및 작업 스케줄러에서 볼 수없는 매핑 된 드라이브

관리자 권한 또는 관리자 명령 프롬프트 또는 작업 스케줄러 (높은 권한으로)에서 매핑 된 네트워크 드라이브에 액세스하려고하면 매핑 된 드라이브를 사용할 수 없습니다. 맵핑 된 네트워크 드라이브를 사용하려고하면 오류가 발생합니다 . 시스템이 지정된 경로를 찾을 수 없습니다 (오류 코드 : 0x80070003) .

다음은 Windows 10 버전 1903을 실행하는 컴퓨터의 스크린 샷입니다.

그러나 매핑 된 네트워크 드라이브는 파일 탐색기와 일반 (높지 않은) 명령 프롬프트에서 액세스 할 수 있습니다.

다양한 포럼에서는 상승 된 명령 프롬프트 모드에 있거나 작업 스케줄러를 사용하여 배치 파일을 실행할 때 매핑 된 드라이브 문자 대신 UNC 경로 (해결 방법)를 사용하도록 제안합니다. 또한 사용자는 매핑 된 네트워크 드라이브를 사용할 수 있도록 예약 된 특정 작업 작업에 대해 가장 높은 권한으로 실행 을 비활성화하도록 권장합니다.

그러나 표준 및 높은 프로세스의 매핑 된 드라이브를 사용할 수있는 영구적 인 레지스트리 기반 솔루션이 있으므로 이러한 해결 방법은 필요하지 않습니다.

(솔루션으로 직접 이동)

Microsoft 기술 자료 문서 KB937624 UAC를 켜면 프로그램이이 문제를 해결하는 일부 네트워크 위치에 액세스하지 못할 수 있습니다. 그러나 실제 수정은 KB3035277 (아래에 언급 됨)으로 제공됩니다.

KB937624 상태 :

관리자가 Windows Vista에 로그온하면 LSA (Local Security Authority)는 두 개의 액세스 토큰을 만듭니다. 사용자가 Administrators 그룹의 구성원임을 LSA에 알리면 LSA는 관리자 권한이 제거 (필터링 됨) 된 두 번째 로그온을 만듭니다. 이 필터링 된 액세스 토큰은 사용자의 데스크탑을 시작하는 데 사용됩니다. 관리자가 사용자 계정 컨트롤 대화 상자에서 허용을 클릭하면 응용 프로그램은 전체 관리자 액세스 토큰을 사용할 수 있습니다.

사용자가 Windows Vista에 로그온되어 있고 사용자 계정 컨트롤이 활성화되어 있으면 사용자의 필터링 된 액세스 토큰을 사용하는 프로그램과 사용자의 전체 관리자 액세스 토큰을 사용하는 프로그램이 동시에 실행될 수 있습니다. LSA는 두 개의 별도 로그온 세션 동안 액세스 토큰을 생성 했으므로 액세스 토큰에는 별도의 로그온 ID가 포함됩니다.

파일 탐색기에서 생성 된 드라이브 매핑은 표준 사용자 토큰에서 온 것이므로 높은 토큰 (예 : 관리자 명령 프롬프트 또는 가장 높은 권한으로 실행되도록 구성된 예약 된 작업)에서는 드라이브가 표시되지 않습니다.

UAC가 "자격 증명을위한 프롬프트"로 구성되어 있으면 상승 된 프롬프트에서 제목이 지정된 드라이브라는 제목의 다른 Microsoft 기사 KB3035277을 사용할 수 없습니다.

KB3035277 상태 :

UAC가 활성화되면 시스템은 사용자 로그온시 두 개의 로그온 세션을 만듭니다. 두 로그온 세션은 서로 연결되어 있습니다. 한 세션은 상승 된 세션 동안의 사용자를 나타내고 다른 세션은 최소 사용자 권한으로 실행합니다.

드라이브 매핑이 생성되면 시스템은 드라이브 문자를 UNC 경로에 연결하는 심볼릭 링크 개체 ( "DosDevices")를 만듭니다. 이러한 개체는 로그온 세션에 따라 다르며 로그온 세션간에 공유되지 않습니다.

참고 EnableLinkedConnections 레지스트리 항목은 UAC가 활성화 될 때 생성 된 두 링크 된 로그온 세션 모두에 심볼릭 링크가 작성되도록합니다.

그리고 여기 제임스 피니 건 (MSF)의 유용한 메모가 있습니다.

"EnableLinkedConnections"정책은 Administrators 그룹의 구성원 인 사용자와 높지 않은 권한과 높은 권한의 경계를 공유하는 사용자에 의존합니다 (악의적 인 의도적으로 드라이브 매핑이 잘못 될 수 있음). 이는 기본적으로 사용자를 표준 사용자로 이동하는 과정에 있지만 점차적으로 관리자 그룹의 구성원으로 유지해야하는 고객에게는 일시적인 해결 방법입니다.

수정 : 관리자 명령 프롬프트 및 작업 스케줄러에서 매핑 된 드라이브가 보이지 않음

KB3035277에 설명 된대로 다음 레지스트리 키에 EnableLinkedConnections DWORD (32 비트) 값을 만들고 데이터를 1 설정하여 문제를 해결할 수 있습니다.

 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ 현재 버전 \ 정책 \ 시스템 
  1. 레지스트리 값을 만들거나 설정하려면 레지스트리 편집기 ( regedit.exe )를 시작하십시오.
  2. 위 지점으로 이동하십시오.
  3. 편집 메뉴에서 새로 만들기, DWORD (32 비트) 값을 클릭하십시오.
  4. DWORD 값의 이름을 EnableLinkedConnections 로 지정하고 해당 데이터를 1 설정하십시오.

  5. 레지스트리 편집기를 종료하고 Windows를 다시 시작하십시오.

EnableLinkedConnections 값을 사용하면 Windows가 관리자 그룹 구성원에 대해 필터링 된 액세스 토큰과 전체 관리자 액세스 토큰간에 네트워크 연결을 공유 할 수 있습니다. 앞에서 언급했듯이 레지스트리 값을 만든 후 컴퓨터를 다시 시작해야합니다.

Windows를 다시 시작한 후 정기적 인 프로세스뿐만 아니라 프로세스 관리자, 전체 관리자 액세스 토큰 및 필터링 된 액세스 토큰에서 실행되는 프로세스로 드라이브에 액세스 할 수 있습니다.

.REG 파일 사용

다음 내용에서 .reg 파일을 작성하여 위 설정을 자동화 할 수 있습니다.

 Windows 레지스트리 편집기 버전 5.00 [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System] "EnableLinkedConnections"= dword : 00000001 

작업 스케줄러가 여전히 매핑 된 드라이브에 액세스 할 수 없습니까?

EnableLinkedConnections 레지스트리 설정을 활성화해도 예약 된 작업이 여전히 매핑 된 네트워크 드라이브에 액세스하지 못하면 두 가지 사항을 확인해야합니다.

  1. 사용자 계정 컨트롤 관련 보안 정책
  2. 예약 된 작업이 다른 사용자로 실행되도록 구성된 경우 해당 사용자 계정에서 드라이브를 다시 매핑해야합니다. ( 중요 : 이 기사 끝 부분의 참고 사항 참조)

다음 UAC 정책 설정이 자격 증명을 요구 하도록 구성되어 있으면 예약 된 작업 (가장 높은 권한으로 실행)이 매핑 된 네트워크 드라이브에 액세스하지 못합니다.

 사용자 계정 제어 : 관리자 승인 모드에서 관리자를위한 권한 상승 프롬프트 동작 

보안 정책 편집기 ( secpol.msc ) 또는 레지스트리 편집기를 사용하여 위의 정책을 컨텐츠 프롬프트 (Windows 기본 설정)로 설정해야합니다.

대체 레지스트리 기반 솔루션과 함께 위의 보안 정책을 구성 하기 위한 전체 지침 은 관리자로 로그인 한 경우에도 UAC에서 암호를 요청하는 문서에서 확인할 수 있습니다.

위 정책을 재설정 한 후 Windows를 다시 시작하십시오. 최고 권한으로 실행되도록 구성된 예약 된 작업에 매핑 된 드라이브를 사용할 수 있어야합니다.

중요 : 그러나 다른 사용자 계정이나 SYSTEM (LocalSystem) 컨텍스트에서 작업을 실행하면 EnableLinkedConnections 레지스트리 값에도 불구하고 매핑 된 드라이브가 표시되지 않습니다. 네트워크 드라이브 매핑이 사용자별로 있기 때문입니다. 즉, 예약 된 작업을 실행하도록 구성된 특정 사용자 계정으로 드라이브를 다시 매핑해야합니다.

이 문서의 정보는 Windows 10을 통한 Windows Vista에 적용됩니다. 솔루션은 Windows 10 v1903에서 마지막으로 테스트되었습니다.

관련 기사