Windows Server 2003 기반 컴퓨터에서 일괄 처리 작업을 실행하면 액세스가 거부됩니다.

이 문서에서는 Microsoft Windows Server 2003 기반 컴퓨터에서 일괄 처리 작업을 실행할 때 발생하는 오류(액세스가 거부됨)에 대한 솔루션을 제공합니다.

적용 대상: Windows Server 2003
원래 KB 번호: 867466

증상

일반 사용자 계정의 컨텍스트에서 실행되는 일괄 처리 작업을 실행하는 경우 스크립트가 실행되지 않을 수 있습니다. 예약된 작업 기능을 사용하여 일괄 작업을 실행하는 경우 다음 오류 메시지가 예약된 작업 로그 파일(Schedlgu.txt)에 기록될 수 있습니다.

0x80070005: 액세스가 거부되었습니다.

디버거 프로그램을 사용하여 일괄 처리 작업이 작동하지 않는 이유를 확인하려고 하면 디버그 출력에 다음 오류 메시지가 나타날 수 있습니다.

액세스 거부됨(오류 5)

원인

이 문제는 다음 조건이 모두 충족되는 경우에 발생합니다.

  • Windows Server 2003 기반 멤버 서버에서 일괄 처리 작업을 실행합니다.
  • 일괄 처리 작업은 비대화형 프로세스로 실행됩니다.
  • 일괄 처리 작업은 관리자 그룹의 구성원이 아닌 계정의 컨텍스트에서 실행되도록 구성됩니다.

Windows Server 2003에서는 사용자 그룹에 명령 프로세서(Cmd.exe)에 대한 읽기 및 실행 권한이 없습니다. 기본적으로 Cmd.exe 프로그램에는 다음과 같은 사용 권한 설정이 있습니다.

  • 대화형 암시적 그룹 및 서비스 암시적 그룹에는 읽기 및 실행 권한이 있습니다.

    참고

    멤버 서버에서 TelnetClients 그룹에는 읽기 및 실행 권한도 있습니다. 도메인 컨트롤러에서 Batch 암시적 그룹에는 읽기 및 실행 권한도 있습니다.

  • 관리자 그룹과 시스템 암시적 그룹에는 모든 권한이 있습니다.

이 문제를 resolve 하려면 다음 방법 중 하나를 사용합니다.

해결 방법 1: Cmd.exe 읽기 및 실행 권한 부여

일괄 처리 작업이 실행되는 사용자 계정에 대해 Cmd.exe 프로그램 읽기 및 실행 권한을 부여합니다. 이렇게 하려면 다음과 같이 하십시오.

  1. 시작을 클릭한 다음 Windows Explorer 클릭합니다.

  2. Cmd.exe 파일을 찾아 마우스 오른쪽 단추로 클릭합니다. Cmd.exe 파일은 %windir%\System32 폴더에 있습니다.

  3. 속성을 클릭합니다.

  4. 보안 탭을 클릭합니다.

  5. 추가를 클릭합니다.

  6. 선택할 개체 이름 입력 상자에 일괄 처리 작업이 실행되는 사용자 이름을 입력한 다음 확인을 두 번 클릭합니다.

    참고

    사용자를 추가하면 사용자에게 읽기 및 실행 권한이 자동으로 부여됩니다.

  7. 계속하라는 메시지가 표시되면 예를 클릭합니다.

해결 방법 2: Batch 그룹에 Cmd.exe 파일에 대한 읽기 및 실행 권한 부여

Cmd.exe 파일에 대한 읽기 및 실행 권한을 Batch 그룹에 부여합니다. 이렇게 하면 모든 일괄 처리 프로세스가 명령 프로세서를 실행할 수 있습니다. 이렇게 하려면 다음과 같이 하십시오.

  1. 시작을 클릭한 다음 Windows Explorer 클릭합니다.
  2. Cmd.exe 파일을 찾아 마우스 오른쪽 단추로 클릭합니다. Cmd.exe 파일은 %windir%\System32 폴더에 있습니다.
  3. 속성을 클릭합니다.
  4. 보안 탭을 클릭합니다.
  5. 추가를 클릭합니다.
  6. 선택할 개체 이름 입력 상자에 Batch를 입력한 다음 확인을 두 번 클릭합니다.
  7. 계속하라는 메시지가 표시되면 예를 클릭합니다.

추가 정보

이 문서에서 설명하는 동작은 Microsoft Windows 2000 Server의 기본 동작과 다릅니다. 기본적으로 Windows 2000 Server는 사용자 그룹에 읽기 권한 및 실행 권한을 부여합니다.

암시적 그룹에 대한 자세한 내용은 다음 Microsoft 웹 사이트를 참조하세요.