.BAT 파일에 대해 예약된 작업이 실행되지 않는 문제 수정

.BAT 파일이 있고 Windows 에서 (Windows)작업 스케줄러(Task Scheduler) 를 사용하여 자동 으로 실행되도록 하려는 경우 작업을 수동으로 실행하지 않으면 단순히 실행되지 않는 문제가 발생했을 수 있습니다.

컴퓨터가 시작될 때마다 임시 폴더 안의 모든 것을 삭제하는 배치 파일을 만들었습니다. 나는 작업 스케줄러(Task Scheduler) 에서 기본 작업을 만들고 최선을 바랐습니다. 불행히도, 내 컴퓨터가 부팅될 때 아무 일도 일어나지 않았습니다. 많은 시행착오 끝에 스크립트를 실행하는 방법을 알아냈습니다.

이 기사에서는 수동 개입 없이 배치 파일을 실행하기 위해 조정해야 하는 설정과 권한을 안내해 드리겠습니다.

1단계: File/Folder 권한 확인

이 문제를 해결하는 첫 번째 단계는 작업 스케줄러(Task Scheduler) 에서 스크립트를 실행하는 데 사용하는 계정에 스크립트 가 포함된 폴더, 스크립트 자체 및 스크립트가 실행될 때 접촉하는 폴더/파일에 대한 모든 권한이 있는지 확인하는 것입니다 .(Full Control)

예를 들어 아래에 다음 배치 스크립트를 만들었습니다.

set folder="C:\test"
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)

내 문서 폴더 에 .BAT 파일을 저장했습니다 . 경로는 C:\Users\username\Documents 입니다. C:\Users\username으로 이동하여 Documents(Documents) 폴더 를 마우스 오른쪽 버튼으로 클릭하고 속성(Properties) 을 클릭했습니다 . 그런 다음 보안(Security) 탭을 클릭했습니다.

보시다시피 사용자 계정 Aseem 이 명시적으로 추가되었고 모든 권한이 부여되었습니다. 이제(Full Control) 스크립트가 포함된 폴더와 스크립트 자체에 대해 동일한 작업을 수행해야 합니다. 스크립트가 포함된 폴더에 권한을 부여하면 권한이 없다고 가정하지 마십시오. 마지막으로 스크립트가 상호 작용할 파일 및 폴더에 대한 권한을 설정합니다.

제 경우에는 C:\test 로 이동하여 해당 폴더를 마우스 오른쪽 버튼으로 클릭하고 모든 권한이 있는 사용자 계정을 추가해야 했습니다(Full Control) . 이 작업을 수행해야 하는 것은 일종의 성가신 일이지만 스크립트를 실행하는 유일한 방법입니다.

참고: 스크립트를 실행하는 데 사용되는 계정은 컴퓨터의 로컬 관리자 그룹에 속해야 합니다. 제 경우에는 Aseem 계정이 관리자 계정이므로 로컬 관리자 그룹의 일부입니다. (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )

2단계: 작업 스케줄러 설정 확인(Task Scheduler Settings)

이제 작업 스케줄러(Task Scheduler) 로 이동 하여 적절한 설정을 변경합니다. 작업 스케줄러(Task Scheduler) 를 열고 활성 작업( Active Tasks) 섹션 에서 작업을 찾습니다 . 알파벳 순서로 나열해야 합니다.

Double-click on it and it’ll open the task by itself in the same window. In order to edit the task, you’ll have to right-click on it and choose Properties.

There are several tabs and a couple of things have to checked and changed here. Firstly, on the General tab, you need to check the user account that is being used to run the task. In my case, it’s the Aseem account, which I had given permissions to earlier on the file system and which is part of the Administrators group on the computer.

Next, you have to choose the Run whether user is logged on or not option and choose Windows Vista, Windows Server 2008 in the Configure for box.

작업(Actions) 탭 에서 스크립트를 선택하고 편집 을 클릭한 다음 (Edit)시작 위치(선택 사항)(e Start in (optional)) 상자 에 스크립트가 포함된 폴더의 경로를 추가해야 합니다 . 이것은 불필요한 것처럼 보일 수 있지만 그렇지 않습니다. 제 경우에는 상자에 C:\Users\Aseem\Documents\ 를 넣었습니다.

이제 확인(OK) 을 클릭 하여 설정을 저장합니다. 이렇게 하면 작업을 실행할 사용자 계정의 암호를 입력해야 하는 대화 상자가 나타날 수 있습니다. 이것은 또 다른 요구 사항을 나타냅니다. 비밀번호가 없는 계정은 사용할 수 없습니다. 작업을 실행하려면 사용자 계정에 암호가 있어야 합니다.

마지막으로 작업 스케줄러(Task Scheduler) 에서 작업을 수동으로 한 번 실행하여 제대로 실행되는지 확인해야 합니다. 모든 설정을 변경한 후 수동으로 제대로 실행되면 트리거되어야 할 때 실행되어야 합니다. 제 경우에는 시작 시 발생해야 했으며 변경한 후에는 모든 것이 잘 작동했습니다.

스크립트가 실행될 때 도메인의 다른 컴퓨터에 액세스하는 경우 도메인 관리자 계정을 사용하여 작업을 실행해야 합니다. 이렇게 하면 계정에 원격 컴퓨터에 액세스할 수 있는 충분한 권한이 부여됩니다.

주목해야 할 또 다른 항목은 스크립트가 네트워크 공유의 리소스에 액세스하는 경우입니다. 스크립트가 문자를 사용하여 네트워크에 액세스하는 경우 실행되지 않을 수 있습니다. 예를 들어, F:\data\ 를 사용하는 대신 스크립트에서 \\machinename\share_name\data\ 를 사용해야 합니다 . 여전히 스크립트를 실행할 수 없는 경우 여기에 의견을 게시하면 도와드리겠습니다. 즐기다!



About the author

저는 프리웨어 소프트웨어 개발자이자 Windows Vista/7 옹호자입니다. 팁과 트릭, 수리 가이드, 모범 사례를 포함하여 운영 체제와 관련된 다양한 주제에 대해 수백 편의 기사를 작성했습니다. 또한 회사인 헬프 데스크 서비스를 통해 사무실 관련 컨설팅 서비스를 제공합니다. Office 365의 작동 방식, 기능 및 가장 효과적으로 사용하는 방법을 깊이 이해하고 있습니다.



Related posts