Windows 11에서 PowerShell 스크립트 파일을 작성하고 실행하는 방법

PowerShell은 일반적인 관리 작업을 자동화하기 위해 Microsoft에서 개발한 명령 줄 도구입니다. 스크립트는 텍스트 파일로 저장된 PowerShell 명령어 모음이며, 확장자가 *.ps1인 파일입니다. PowerShell 스크립트를 실행할 때, 해석기는 파일을 읽고 명령어를 순차적으로 실행합니다.

어떤 텍스트 편집기(심지어 노트패드)를 사용하여 PowerShell 스크립트를 생성할 수 있지만, PowerShell 스크립트 편집기를 사용하는 것이 좋습니다. Windows에 포함된 기본 편집기는 PowerShell 통합 스크립팅 환경(PowerShell ISE)입니다. 이는 색상 구분, 코드 완성, 구문 검사, 디버깅, 자동 저장, 크래시 방지 등의 유용한 기능을 포함하고 있습니다.

광고

마이크로소프트는 Windows, Linux 및 macOS용으로 제공되는 무료 크로스 플랫폼 코드 편집기인 Visual Studio Code (VS Code)를 가지고 있습니다. 이는 PowerShell을 포함한 다양한 프로그래밍 언어를 지원합니다.

Visual Studio Code의 장점 중 하나는 최신 버전의 PowerShell을 지원한다는 것이며, PowerShell ISE는 PowerShell 버전 5.1까지만 지원합니다.

PowerShell 스크립트 실행 방법(간단 가이드)

다음은 PowerShell 스크립트를 실행하는 방법에 대한 간략한 설명입니다. 이 방법은 필수 매개변수가 없고 명령 프롬프트에 출력을 반환하지 않는 PowerShell 스크립트에 대해 작동합니다.

  1. 파일 탐색기에서 PowerShell 스크립트를 마우스 오른쪽 단추로 클릭하십시오.
  2. 컨텍스트 메뉴에서 PowerShell로 실행을 선택하십시오.
  3. 스크립트가 실행되며 실행 정책은 Bypass로 설정됩니다. 컴퓨터 또는 사용자의 실행 정책은 변경되지 않습니다.

PowerShell 스크립트 작성 및 실행에 대한 자세한 정보는 계속 읽어보세요!

광고

PowerShell 스크립트 작성하기

PowerShell 스크립트를 만드는 방법은 두 가지가 있습니다.

  • 크로스 플랫폼 코드 편집기 Visual Studio Code로
  • PowerShell ISE로
  • 또는 다른 텍스트 편집기, 즉 노트패드

Visual Studio Code로 PowerShell 스크립트 만들기

Visual Studio Code는 Windows에 기본으로 제공되지 않으므로 전용 Visual Studio 웹사이트에서 다운로드해야 합니다. 우리의 경우 Windows 배포본을 다운로드해야 하는데, 64비트, 32비트 및 ARM 시스템용으로 제공됩니다.

앱을 설치한 후 따라야 할 다양한 단계는 다음과 같습니다. 먼저 시작 메뉴에서 Visual Studio Code를 열어야 합니다.

Opening Visual Studio Code from the Windows 11 Start Menu

PowerShell 확장 프로그램 설치

아래 그림에 표시된 확장 프로그램 아이콘을 클릭하거나 Ctrl + Shift + X 키보드 단축키를 사용하여 확장 프로그램 메뉴를 엽니다.

광고

Open the extensions menu from the left sidebar

powershell를 검색 상자에 입력하고 아래 그림에 표시된 가장 다운로드 수가 많은 옵션을 선택하여 Microsoft에서 제공하는 확장 프로그램을 다운로드하도록 합니다. 그런 다음 설치를 클릭합니다.

Find the PowerShell extension

설치가 완료되면 확인 메시지는 표시되지 않습니다. 그러나 설치 버튼 대신 비활성화제거 옵션이 표시됩니다.

Disable and Uninstall options appear after installing the extension

Visual Studio Code로 PowerShell 스크립트 만드는 방법

새 PowerShell 스크립트를 만들려면 파일 > 새 파일로 이동하거나 Ctrl + N 키보드 단축키를 사용하세요.

Creating a new PowerShell script

새 파일이 PowerShell 스크립트임을 지정하려면 왼쪽 하단의 일반 텍스트를 클릭하거나 스크립트 패인에서 언어 선택을 클릭하세요. 어느 옵션을 선택하든 언어 모드 선택 상자로 이동합니다. powershell을 입력한 뒤 PowerShell을 선택하세요.

Specify that the new file is a PowerShell script

이렇게 하면 PowerShell 확장 기능이 트리거되어 동작과 기능이 변경됩니다. 먼저 파일 이름 옆에 아이콘이 PowerShell로 변경되는 것을 알 수 있습니다. 또한 PowerShell 콘솔이 시작되며 여기서 PowerShell 명령어와 스크립트를 실행할 수 있습니다.

Starting the PowerShell Console

동일한 결과를 얻기 위해 파일을 *.ps1 확장자로 저장할 수도 있습니다.

다음 명령어를 스크립트 패인에 입력하면 색상 코딩, 명령 자동 완성 및 구문 힌트와 같은 혜택을 눈으로 확인할 수 있습니다:

Write-Host "This is a Visual Studio Code script"
Write-Host "Writing PowerShell Scripts is fun!"
How to type commands in the script pane

참고: 세 번째 줄은 명령어 완료 옵션을 보여주기 위한 목적으로만 사용됩니다.

파일을 저장하려면 파일 메뉴를 사용할 수 있습니다: 파일 > 저장. 또는 Ctrl + S 키보드 단축키를 사용할 수도 있습니다.

다음으로 쉽게 접근할 수 있는 위치에 저장하고 파일 이름을 제공하며 파일 확장자로 *.ps1을 지정하고 저장을 클릭하세요. 이 예시에서는 C:\TEMP\MyVSCodeScript.ps1에 파일을 저장하고 있습니다.

Save your file as a .ps1

VS Code에서 스크립트 실행은 이후에 다룰 예정입니다.

Windows PowerShell ISE로 스크립트 만들기

파워쉘 ISE를 시작하려면 시작 버튼(또는 검색 버튼)을 클릭하고 PowerShell ISE를 입력하세요. 검색 결과에는 여러 개의 실행 옵션이 있는 어플리케이션을 볼 수 있습니다. 모든 명령이 제대로 실행되고 차단되지 않도록 관리자 권한으로 실행 하는 것이 좋습니다.

You need to run the PowerShell ISE as an administrator

이제 파워쉘 ISE에서 스크립트를 작성해 보겠습니다. 다음 줄을 쓰면, 색상 코딩, 명령 자동 완성, 문법 힌트 등의 편리한 기능을 알 수 있습니다.

Write-Host "This is a PowerShell ISE script"
Write-Host "Writing PowerShell Scripts is fun!"

 

Creating a script in the PowerShell ISE

주의: 第三行程은 명령 완성 옵션을 보여주기 위한 데모 용도로만 사용합니다.

이제 명령 목록을 파워쉘 스크립트로 저장해 보겠습니다. 이렇게 하려면 도구 모음에서 플로피 디스크 아이콘을 클릭한 다음, 파일 메뉴에서 파일 > 저장을 클릭하세요. Ctrl + S 키보드 단축키를 사용할 수도 있습니다.

다른 이름으로 저장 대화 상자에서 폴더를 선택하고 파일 이름을 입력하고 *.ps1 확장자를 지정한 다음 저장을 클릭하세요. 이 예제에서는 다음과 같은 이름을 사용하고 있습니다: C:\TEMP\MyPowerShellISEScript.ps1.

Saving your PowerShell script

노트패드로 스크립트 작성

파워쉘 스크립트를 작성하는 데 기본 텍스트 편집기를 사용하는 것은 추천하지 않습니다, 하지만 가능합니다. NotePad

  • 를 사용한 예를 살펴 보겠습니다. 노트패드를 열고 다음 명령을 입력하세요:
Write-Host "This is a Notepad script"
Write-Host "Writing PowerShell Scripts is fun!
You can write PowerShell scripts in NotePad
  • 스크립트를 저장하려면 파일 > 저장를 선택하세요.
  • 다른 이름으로 저장 대화 상자에서 폴더를 선택하고 *.ps1 확장자를 가진 파일 이름을 입력하세요. 이 예제에서는 다음을 사용하고 있습니다: C:\TEMP\MyNotepadScript.ps1.

PowerShell 스크립트 실행 방법

A PowerShell script (*.ps1 file) can be run in the PowerShell console, which recognizes the *.ps1 file type and runs the commands sequentially. You may open the script as a file in code editors like the PowerShell ISE and Visual Studio Code, and run the whole script in the console pane or run only a part of it.

실행 정책을 변경하여 PowerShell 스크립트를 활성화하는 방법

PowerShell의 실행 정책은 PowerShell이 구성 파일을 로드하고 스크립트를 실행하는 조건을 제어하는 안전 기능입니다. 중요한 점은 이것이 보안 시스템이 아니다는 것입니다. 실행 정책은 쉽게 우회할 수 있기 때문입니다. 그러나, 그들은 사용자가 실수로 스크립트를 실행하는 것을 방지하는 데 도움이 됩니다.

Windows 11의 기본 실행 정책은 제한됨입니다. Windows OS가 아닌 경우, 기본 실행 정책은 제한 없음이며 변경할 수 없습니다.

현재 실행 정책을 보려면 PowerShell 명령 Get-ExecutionPolicy를 사용하십시오.

Windows에서 실행 정책을 변경하려면 Set-ExecutionPolicy 명령을 사용합니다:

 Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

다른 실행 정책에 대해서는 다음 주제에서 讨论 될 것입니다.

PowerShell 실행 정책 변경

Windows에서는 로컬 기계, 현재 사용자 또는 PowerShell 프로세스에 대한 실행 정책을 설정할 수 있습니다.

사용 가능한 모든 스코프를 나열하려면 Get-ExecutionPolicy -List를 사용합니다.

Get-ExecutionPolicy -List

순서가 중요하므로, 설정된 최상위 항목이 우선합니다. 예를 들어, 그룹 정책을 사용하여 실행 정책을 설정한 경우, 다른 항목보다 우선합니다.

The highest configured item takes precedence
Policy Description
Restricted The default execution policy for Windows client OSes. It does not allow ANY scripts (*.ps1 files) to be executed. Still, you may run individual commands.
RemoteSigned The default execution policy for Windows Server. It Allows running scripts that are created locally. Scripts downloaded from untrusted locations, like the Internet, e-mail, messengers, etc. must be digitally signed by a trusted publisher. You may use the command Unblock-File to allow a script to run on the system.  
Unrestricted The default execution policy for non-Windows computers, and it cannot be changed. It allows unsigned scripts to run, but it shows a warning message and asks for confirmation if scripts are coming from an untrusted location.
AllSigned It requires all scripts running on the machine to be digitally signed by a trusted publisher, no matter if they are created locally on the machine or downloaded from the Internet.
Bypass It allows all scripts to run, like Unrestricted, but no confirmation is required.
Undefined There is no execution policy set on the specified scope. If all scopes are set as undefined, then the default execution policies are applied.
The different PowerShell execution policies

PowerShell이 스크립트를 실행하도록 허용하려면 Set-ExecutionPolicy -ExecutionPolicy <정책명> 명령을 사용해야 합니다.

Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

기본적으로, 이 명령은 로컬 기계 스코프에 선택한 정책을 적용합니다. 다른 스코프를 지정하려면 -Scope 매개변수를 사용하고 스코프의 이름을 제공해야 합니다.

예를 들어, 다음 명령은 현재 사용자에 대한 실행 정책을 Unrestricted로 설정합니다:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

PowerShell로 스크립트 실행

PowerShell 콘솔을 열려면 시작 버튼(또는 검색 버튼)을 클릭하고 powershell를 입력한 후 관리자 권한으로 실행을 클릭합니다.

Run the PowerShell console as an administrator

PowerShell 콘솔에서 스크립트를 실행하려면 다음 중 하나를 사용할 수 있습니다:

  • 스크립트의 전체 경로를 사용하려면, C:\TEMP\MyNotepadScript.ps1과 같이 입력합니다
  • 또는 파일이 위치한 폴더에서 스크립트 이름만 사용하려면, .\MyNotepadScript.ps1과 같이 입력합니다

Visual Studio Code에서 PowerShell 스크립트 실행

Visual Studio Code에서 스크립트를 실행하려면 먼저 응용프로그램을 시작하고 이전에 생성한 스크립트 파일(C:\TEMP\MyVSCodeScript.ps1)을 열어야 합니다.

  • 파일 > 열기 파일를 선택하거나 Ctrl + O 키보드 단축키를 사용하십시오.
  • VS Code에 스크립트를 로드한 후, 오른쪽 상단의 실행 버튼을 클릭하거나 키보드의 F5를 눌러 스크립트를 실행할 수 있습니다.

스크립트는 콘솔窗格에서 실행되며, 스크립트의 출력을 볼 수 있습니다.

The script is being executed in the console pane

다른 옵션은 스크립트의 일부만 실행하는 것입니다 (선택 실행). 이는 스크립트를 생성하는 동안 일부가 예상대로 동작하는지 확인하고자 하는 경우에 유용합니다.

  • 스크립트의 일부를 실행하려면 실행하고자 하는 부분을 하이라이트하십시오.
  • 콘솔의 오른쪽 상단에 있는 선택 실행을 클릭하거나 키보드의 F8를 누르십시오.

이번에는 VS Code가 콘솔窗格에서 선택한 코드 줄만 실행합니다.

How to run only a part of a script

PowerShell ISE에서 스크립트 실행

PowerShell ISE에서 스크립트 실행은 매우 유사합니다.

  • PowerShell ISE를 실행하십시오.
  • 이전 데모에서 사용한 스크립트(이 경우 – C:\TEMP\MyPowerShellISEScript.ps1)를 파일 > 열기를 사용하거나 툴바의 열기 아이콘 또는 Ctrl + O 키보드 단축키를 사용하여 여십시오.
  • 스크립트 파일을 선택하고 열기를 클릭하십시오.

전체 스크립트를 실행하려면 툴바의 실행 버튼을 사용하거나 키보드의 F5를 누르십시오. 이렇게 하면 스크립트 파일이 콘솔窗格에서 실행되어 결과를 반환합니다.

Running a script in the PowerShell ISE

如果您只想执行脚本的一部分,请突出显示该部分,然后从工具栏中选择 运行选择内容,或在键盘上按 F8。再次提醒,PowerShell ISE 将只执行选中的代码行。

You can also execute only part of the script

从命令提示符运行 PowerShell 脚本

如果 *.ps1 文件由 PowerShell 解释,则命令提示符 (CMD) 不能直接处理 PowerShell 脚本。如果您想在 CMD 中运行 PowerShell 脚本,您需要通过使用 -File 参数调用 PowerShell 进程来执行它,如下所示:

PowerShell -File C:\TEMP\MyNotepadScript.ps1.

结论

PowerShell 脚本是自动化重复任务的好方法。遵循通用规则:“如果您需要做不止一次的事情,请编写脚本”,这样就不会出错!

相关文章:

Source:
https://petri.com/how-to-write-and-run-a-powershell-script-file-on-windows-11/