사용자 로그온, 로그오프, 시스템 시작 및 종료 시점에 Windows PowerShell 스크립트를 다른 스크립트보다 먼저 실행하고 싶다면, 이 글에서 소개하는 방법을 따라 해 보세요. 로컬 그룹 정책 편집기와 레지스트리 편집기를 활용하면 PowerShell이 아닌 일반 스크립트보다 PowerShell 스크립트에 우선순위를 부여할 수 있습니다.
일반적으로 사용자가 로그온하거나 컴퓨터가 시작될 때 모든 스크립트가 동시에 실행됩니다. 이 경우 시스템 시작이 느려지거나 특정 프로그램 실행이 지연될 수 있습니다. 따라서 비(非)PowerShell 스크립트보다 PowerShell 스크립트와 그룹 정책 개체(GPO)를 먼저 처리하도록 설정하는 것이 필요할 때가 많습니다.
Windows PowerShell 스크립트를 먼저 실행하도록 설정하기
사용자 로그온, 로그오프, 시스템 시작 및 종료 시 PowerShell 스크립트를 우선 실행하려면 아래 단계를 따르세요.
- Win+R 키를 눌러 실행 창을 엽니다.
- gpedit.msc를 입력하고 Enter 키를 누릅니다.
- 컴퓨터 구성에서 스크립트(Scripts) 항목으로 이동합니다.
- '사용자 로그온/로그오프 시 Windows PowerShell 스크립트를 먼저 실행'을 두 번 클릭합니다.
- 사용(Enabled) 옵션을 선택합니다.
- 적용과 확인을 클릭합니다.
- '컴퓨터 시작/종료 시 Windows PowerShell 스크립트를 먼저 실행'을 두 번 클릭합니다.
- 사용(Enabled) 옵션을 선택합니다.
- 적용과 확인을 클릭합니다.
이제 각 단계를 자세히 살펴보겠습니다.
먼저 로컬 그룹 정책 편집기를 열어야 합니다. Win+R 키를 누르고 gpedit.msc를 입력한 뒤 Enter 키를 누르세요. 편집기가 열리면 다음 경로로 이동합니다.
컴퓨터 구성 > 관리 템플릿 > 시스템 > 스크립트
여기에서 다음 두 가지 설정을 확인할 수 있습니다.
- 사용자 로그온/로그오프 시 Windows PowerShell 스크립트를 먼저 실행
- 컴퓨터 시작/종료 시 Windows PowerShell 스크립트를 먼저 실행
각 항목을 두 번 클릭하고 사용(Enabled) 옵션을 선택하세요.

적용과 확인 버튼을 클릭해 변경 사항을 저장하면 됩니다.
레지스트리 편집기로 PowerShell 스크립트 우선 실행 설정하기
레지스트리 편집기를 사용해 동일한 설정을 적용하려면 아래 단계를 따르세요.
- Win+R 키를 누릅니다.
- regedit를 입력하고 Enter 키를 누릅니다.
- UAC 창이 나타나면 예 버튼을 클릭합니다.
- HKLM 아래의 System 키로 이동합니다.
- System 키를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > DWORD(32비트) 값을 선택합니다.
- 값 이름을 RunUserPSScriptsFirst로 지정합니다.
- 값을 두 번 클릭하고 값 데이터를 1로 설정합니다.
- 확인 버튼을 클릭합니다.
- 같은 방법으로 새로 만들기 > DWORD(32비트) 값을 선택합니다.
- 값 이름을 RunComputerPSScriptsFirst로 지정합니다.
- 값을 두 번 클릭해 값 데이터를 1로 설정합니다.
- 확인을 클릭해 변경 사항을 저장합니다.
시작하기 전에 레지스트리 파일을 백업하고 시스템 복원 지점을 만들어 두는 것을 권장합니다. 잘못된 수정은 시스템 오류를 일으킬 수 있으므로 반드시 대비책을 마련해 두세요.
Win+R 키를 눌러 실행 창을 연 뒤 regedit를 입력하고 Enter 키를 누릅니다. UAC(사용자 계정 컨트롤) 프롬프트가 나타나면 예 버튼을 클릭합니다. 이후 다음 경로로 이동합니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
여기서 REG_DWORD 값을 두 개 생성해야 합니다. System 키를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > DWORD(32비트) 값을 선택한 뒤, 이름을 RunUserPSScriptsFirst로 지정하세요.

생성한 값을 두 번 클릭하고 값 데이터를 1로 설정합니다.

동일한 방법으로 또 하나의 DWORD(32비트) 값을 만들고 이름을 RunComputerPSScriptsFirst로 지정한 뒤, 값 데이터를 1로 설정합니다.
RunUserPSScriptsFirst는 '사용자 로그온/로그오프 시 Windows PowerShell 스크립트를 먼저 실행' 설정에 해당하며, RunComputerPSScriptsFirst는 '컴퓨터 시작/종료 시 Windows PowerShell 스크립트를 먼저 실행' 설정을 담당합니다.
설정 변경 되돌리기
적용한 변경 사항을 원래대로 되돌리고 싶다면 다음 방법을 사용하세요.
로컬 그룹 정책 편집기로 설정했다면 같은 경로로 이동해 구성되지 않음(Not Configured) 옵션을 선택하면 됩니다. 레지스트리 편집기로 설정했다면 동일한 System 키로 이동해 앞서 만든 두 개의 REG_DWORD 값을 삭제하세요. 각 값을 마우스 오른쪽 버튼으로 클릭하고 삭제를 선택한 뒤, 확인 버튼을 눌러 완료합니다.
이 방법을 통해 시스템 시작 속도 저하나 프로그램 실행 지연 문제를 개선하고, PowerShell 스크립트가 의도한 순서대로 우선 실행되도록 관리할 수 있습니다. 도움이 되길 바랍니다.