PowerShell 스크립트를 Windows 서비스로 전환(ps1에서 서비스로)
잘 알려져 있듯이, PowerShell은 관리 분야에서 탁월하게 작동합니다. 그러나 때로는 ps1 스크립트를 서비스로 실행해야 할 필요가 있습니다. PowerShell은 처음에 자동화 및 시스템 관리를 위한 도구로 설계되었기 때문에 기본적으로 서비스 모드로 작동할 수 없습니다(PowerShell to Service).
이 제한은 Windows Server 2025에서 백그라운드 모니터링 스크립트, 자동화된 정리 작업 또는 장기 실행 PowerShell 프로세스가 필요할 때, 특히 서비스가 자동으로 시작되고 사용자 로그오프 후에도 유지될 것으로 예상되는 프로덕션 환경에서 실망스러울 수 있습니다.
다행히도, 실행 파일(또는 스크립트)을 Windows 서비스로 실행할 수 있게 해주는 타사 도구를 사용하여 이 문제를 해결할 수 있습니다.
EXE 파일을 Windows 서비스로 실행하는 도구
실행 파일을 Windows 서비스로 변환할 수 있는 많은 유틸리티가 있습니다. 그 중 일부는 다음과 같습니다:
- AlwaysUp
- NSSM (Non-Sucking Service Manager)
- WinSW
- SrvStart
- EXE Service
이 글에서는 EXE Service를 사용할 것입니다. 이 도구는 이미 PowerShell에 대한 준비된 예제 구성을 제공하며 GUI와 명령줄 지원을 모두 갖추고 있기 때문입니다.
PowerShell 스크립트를 Windows 서비스로 실행하기
1단계: EXE Service 열기
EXE Service를 설치한 후 바탕화면에 바로 가기가 나타납니다.
그래픽 인터페이스는 서비스 생성을 더 쉽게 하기 위한 목적입니다.
GUI가 없는 Windows Server에서 작업하는 경우 두 가지 옵션이 있습니다:
- 일반 PC에서 서비스를 생성한 후 서버로 전송
- 명령줄을 사용하여 서버에서 직접 EXE Service 실행
2단계: 새 서비스 생성
EXE Service에는 이미 준비된 PowerShell to Service 예제가 포함되어 있습니다.
"예제에서 생성" 버튼을 클릭하기만 하면 됩니다.

3단계: .ps1 파일 경로 구성
표시되는 창에서 올바른 경로를 지정해야 합니다:
- 실행 파일 경로:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe - 작업 디렉토리:
스크립트 파일이 위치한 폴더 지정 - 인수:
-ExecutionPolicy Bypass -File "C:\Path\To\Your\Script.ps1"
경로가 실제 PowerShell 설치 및 스크립트 위치와 일치하는지 확인하세요.

4단계: 서비스 저장 및 시작
"서비스 생성" 을 클릭하여 Windows 서비스를 생성합니다.
서비스가 이 컴퓨터에서 즉시 실행되도록 하려면 "시작" 을 클릭하세요.
이후 귀하의 PowerShell 스크립트는 다음과 같이 작동합니다:
- Windows 서비스로 실행
- 시스템과 함께 자동 시작
- 사용자 로그오프 및 세션 변경 후에도 유지
- Windows 서비스 관리자(
services.msc)를 통해 관리 가능
서비스를 다른 서버로 전송
서비스 구성을 다른 Windows Server로 이동할 계획이라면, EXE Service 공식 문서에 제공된 전송 지침을 따르세요.
이 접근 방식은 여러 서버에 동일한 구성을 배포할 때 특히 유용합니다.
결론
PowerShell은 서비스로 구축되지 않았습니다 — 그러나 EXE Service와 같은 도구가 이를 깔끔하게 해결합니다. .ps1 스크립트를 감싸면, 시작 시 실행되고, 로그오프 후에도 유지되며, services.msc와 원활하게 통합됩니다. 지저분한 해결 방법도, 예약 작업 해킹도 없습니다. 단지 직관적이고 관리자에게 적합한 솔루션입니다.