PowerShell 스크립트(PS1) 파일은 실행 파일(EXE)로 패키징하여 '날 것 그대로'의 스크립트 파일이 아닌 .exe 형태로 배포할 수 있습니다. 이렇게 하면 비전공자나 일반 사용자에게 PowerShell 또는 명령 프롬프트를 통해 스크립트를 실행하는 복잡한 방법을 일일이 설명해 줄 필요가 없어져 배포가 한결 수월해집니다.
앞서 IExpress를 활용해 셀프 압축 해제 아카이브를 만드는 방법을 소개한 바 있는데요, 이번 글에서는 Windows 10 환경에서 IExpress를 사용해 PowerShell 스크립트 파일을 EXE 파일로 변환하는 방법을 단계별로 알아보겠습니다.
IExpress로 PowerShell 스크립트(PS1) 파일을 EXE로 변환하기
IExpress는 Visual Basic 스크립트나 PowerShell 스크립트처럼 직접 실행할 수 없는 스크립트 파일들을 클릭 한 번으로 실행 가능한 실행 파일로 변환해 주는 매우 유용한 도구입니다.
그럼 바로 시작해 보겠습니다.
이미 작성해 둔 PowerShell 스크립트가 있다고 가정하고 진행합니다. 다음 순서에 따라 따라 해 보세요.
1. IExpress 마법사 실행
Windows 키 + R을 눌러 실행(Run) 대화 상자를 엽니다.
실행 대화 상자에 iexpress를 입력하고 Enter 키를 누릅니다.

Create new Self Extraction Directive file(새 자동 압축 해제 지시 파일 생성) 옵션의 라디오 버튼을 선택한 뒤 다음(Next)을 클릭합니다.

2. 패키지 기본 설정
Extract files and run an installation command(파일 압축 해제 후 설치 명령 실행) 옵션을 선택하고 다음을 클릭합니다.
만들 실행 파일의 이름을 입력하고 다음을 클릭합니다.

패키지 설치 전 사용자에게 확인 메시지를 표시할지 묻는 화면이 나타납니다. 이번 예제에서는 No prompt(메시지 표시 안 함)를 선택하고 다음을 클릭하세요. 사용자에게 안내 문구를 보여 주고 싶다면 Prompt user with(사용자에게 메시지 표시)를 선택한 후 아래 입력란에 원하는 메시지를 입력하면 됩니다.

마찬가지로 라이선스 동의 화면을 표시할지 여부를 묻게 됩니다. 이번 예제에서는 Do not display a license(라이선스 표시 안 함)를 선택하고 다음을 클릭합니다.

3. 스크립트 파일 추가 및 설치 명령 지정
Packaged files(패키지된 파일) 화면에서 Add(추가) 버튼을 클릭하고 변환할 PowerShell 스크립트 파일을 반드시 추가한 뒤 다음을 클릭합니다.

이제 실행 파일로 만든 스크립트가 Install Program(설치 프로그램) 드롭다운 목록에 표시됩니다.
해당 파일을 선택하고 Post Install Command(설치 후 명령) 옵션은 <None>(없음)으로 그대로 둔 채 다음을 클릭합니다.

4. 창 표시 및 완료 메시지 설정
Show window(창 표시) 화면에서는 기본 선택값인 Default (recommended)(기본값 - 권장)를 그대로 두고 다음을 클릭합니다.

Finished message(완료 메시지) 화면에서는 No message(메시지 없음)를 선택합니다. 스크립트 실행이 끝난 후 메시지를 표시하고 싶다면 Display message(메시지 표시) 옵션을 선택하고 입력란에 문구를 넣으면 됩니다. 다음을 클릭합니다.

5. 저장 위치 및 재시작 옵션 지정
Package Name and Options(패키지 이름 및 옵션) 대화 상자에서 Browse(찾아보기)를 클릭하고 저장 위치를 지정한 후 파일 이름을 입력합니다. Save(저장)를 클릭하세요. Options(옵션) 항목은 기본값으로 두거나 두 옵션을 모두 체크할 수 있습니다. 다음을 클릭합니다.

Configure restart(재시작 구성) 대화 상자에서는 Only restart if needed(필요한 경우에만 재시작)를 선택하고 다음을 클릭합니다.

6. 실행 파일 생성
나중에 설정을 수정할 일이 있을 경우를 대비해 IExpress 구성을 저장할 수도 있습니다. 이번 예제에서는 Don't save(저장하지 않음)를 선택하고 다음을 클릭합니다.

모든 설정이 완료되었으며 이제 실행 파일을 만들 준비가 되었습니다. 다음을 클릭해 생성 과정을 시작합니다.

실행 파일이 생성되기 시작합니다. 완료되면 Finish(마침)를 클릭해 IExpress 마법사를 종료합니다.

생성된 실행 파일은 앞서 지정했던 저장 위치에서 찾을 수 있습니다.

여기까지입니다!
참고: 서드파티 변환 도구 활용하기
IExpress 외에도 다음과 같은 서드파티 도구를 사용하면 PowerShell(Ps1) 파일을 .exe 파일로 변환할 수 있습니다.
- PS2EXE – 마이크로소프트에서 제공하는 PowerShell 스크립트입니다.
- F2KO Ps1 To Exe – Windows 운영체제에서 실행되는 다국어 지원 무료 데스크톱 애플리케이션입니다.
- F2KO Online Converter – 포터블형 Ps1 to .exe 변환기 애플리케이션의 웹 버전입니다.
- PowerGUI Script Editor – 데스크톱 애플리케이션입니다.
- PowerShell Studio – 시각적으로 PowerShell GUI 도구를 제작하고, 멀티 파일 및 파일 디버깅을 수행하며, MSI 설치 관리자를 만들고, 스크립트 성능을 모니터링하는 등 다양한 기능을 제공합니다.
- ISE Steroids 2.0 Enterprise – 데스크톱 애플리케이션으로, 기본 제공되는 PowerShell ISE 편집기의 기능을 확장해 줍니다.
이런 도구들은 비교적 사용하기 쉽습니다. 예를 들어 PS2EXE 도구를 사용하려면 해당 도구를 내려받아 zip 파일의 압축을 푼 뒤, PS2EXE를 실행하고 변환하려는 스크립트를 지정한 다음 결과물로 생성될 EXE 파일의 이름만 정해 주면 됩니다.