PowerShell 스크립트는 반복적인 작업을 처리할 때 드는 수고를 크게 줄여 줍니다. 그런데 미리 정해진 시간이나 일정한 간격으로 스크립트를 계속 실행해야 한다면, 매번 수동으로 실행하는 것은 비효율적입니다. 이번 글에서는 Windows 10에서 작업 스케줄러(Task Scheduler)를 활용해 PowerShell 스크립트를 주기적으로 자동 실행되도록 예약하는 방법을 단계별로 안내합니다.
작업 스케줄러로 PowerShell 스크립트 예약하기
이미 실행할 PowerShell 스크립트를 만들어 두었다고 가정합니다. 아래 순서대로 진행하면 됩니다.
- Windows 키 + R을 눌러 실행 대화 상자를 엽니다.
- 실행 대화 상자에 taskschd.msc를 입력합니다.
- Ctrl + Shift + Enter를 동시에 눌러 관리자 권한으로 작업 스케줄러를 실행합니다.
- 왼쪽 창에서 작업 스케줄러 라이브러리를 마우스 오른쪽 버튼으로 클릭한 뒤 작업 만들기를 선택합니다.
- 일반 탭에서 작업 이름과 설명(예: 해당 작업의 목적)을 입력합니다.
- 트리거 탭으로 이동해 새로 만들기 버튼을 클릭합니다. 여기서 작업이 실행될 시점과 조건을 설정할 수 있습니다.
- 이어서 동작 탭을 열고 새로 만들기 버튼을 클릭합니다.
동작 드롭다운 목록에는 기본적으로 프로그램 시작이 선택되어 있으며, 필요에 따라 다른 옵션으로 변경할 수 있습니다.
찾아보기 버튼을 눌러 프로그램/스크립트 항목을 지정합니다. 스크립트를 예약하려면 powershell.exe를 선택해야 하는데, 이 파일은 system32\WindowsPowerShell\v1.0 폴더에서 찾을 수 있습니다.
인수 추가 칸에는 기본값으로 -File 매개 변수를 사용하므로, 스크립트 경로만 입력하면 됩니다. 예를 들어 만든 스크립트를 바탕 화면에 저장했다면 다음과 같이 지정합니다.
C:\Users\<사용자 이름>\Desktop\TWC_script.ps1
경로에 공백이 포함되어 있다면 반드시 큰따옴표로 묶어 주어야 오류 없이 인식됩니다.
- 설정을 마친 후에는 작업 실행 여부를 판단하는 조건을 지정할 수 있습니다. 여기에 지정한 조건 중 하나라도 충족되지 않으면 작업은 실행되지 않습니다.
- 설정 탭에서는 작업 실행 방식을 세부적으로 제어하는 고급 옵션을 추가로 구성할 수 있습니다.
- 모든 설정이 끝나면 확인을 클릭해 예약된 스크립트를 생성합니다.
- 확인을 한 번 더 누르고 작업 스케줄러를 종료하면 완료됩니다.
예약된 작업이 실행되지 않을 때 (0xFFFD0000 오류)
간혹 예약된 작업으로 PowerShell 스크립트가 실행되지 않고 0xFFFD0000 오류가 발생하는 경우가 있습니다. 이럴 때는 작업 속성의 일반 탭에서 '가장 높은 수준의 권한으로 실행' 옵션을 체크하거나, 인수에 -ExecutionPolicy Bypass를 함께 추가하면 해결되는 경우가 많습니다.
정상적으로 설정되었다면 예약된 스크립트는 지정한 일정에 따라 문제없이 자동 실행됩니다. 즉시 실행 결과를 확인하고 싶다면 작업 이름을 마우스 오른쪽 버튼으로 클릭한 뒤 실행을 선택하면 됩니다.
이렇게 작업 스케줄러를 활용하면 PowerShell 스크립트를 예약된 작업으로 등록해 반복 작업을 완전히 자동화할 수 있습니다.