16가지 필수 PowerShell 명령어 알아보기

Featured Top Essential Powershell Commands

Windows PowerShell은 .NET 프레임워크를 기반으로 한 강력한 애플리케이션입니다. 이것은 cmdlet이라고 불리는 PowerShell 명령어에 의존합니다. 이들을 특정 순서로 결합함으로써 PowerShell 창에서 거의 모든 작업을 수행할 수 있습니다. 작동 방식을 설명하기 위해 가장 필수적인 PowerShell 명령어를 간추렸습니다.

알아두면 좋은 점: Windows에서 “Powershell.exe”를 찾을 수 없습니까? 이를 복구하는 방법을 배우세요.

목차

  • PowerShell 명령어 사용 방법
  • 필수 PowerShell 명령어
    1. Clear-Host 또는 Cls
    1. Convert-to-HTML
    1. Get-Command
    1. Get-Help
    1. Get-Process
    1. Get-Service
    1. Install-Module 또는 Install-Script
    1. mkdir, md, rmdir
    1. New-Item
    1. Remove-Item
    1. Set-ExecutionPolicy
    1. Select-Object 및 Sort-Object
    1. Start- 및 Stop-Process
    1. Suspend- 및 Resume-Service
    1. Test-Path
    1. Wait-Process
  • 기타 필수 PowerShell 명령어
  • 자주 묻는 질문

PowerShell 명령어 사용 방법

cmdlet을 사용하기 시작하려면 검색 메뉴에서 관리자 모드로 PowerShell을 실행해야 합니다.

Windows 11 검색에서 관리자 모드로 PowerShell 열기.

필수 PowerShell 명령어

Windows의 PowerShell은 단순한 명령줄 인터페이스일 뿐만 아니라 실행하려는 모든 애플리케이션이나 프로세스를 실행할 수 있는 스크립팅 및 프로그래밍 창입니다. 수백 개의 cmdlet이 있지만, 시작하려면 가장 필수적인 것들만 배우면 됩니다.

1. Clear-Host 또는 Cls

타이핑하는 중 실수를 하셨거나, 무엇인가 계획대로 진행되지 않나요? 다행히 PowerShell에서는 다시 할 수 있는 방법이 있습니다. 유용한 clear-host 명령어를 사용하면 화면에서 전체 텍스트를 지울 수 있습니다. 화면의 아무 줄에나 명령을 입력하면 모든 것이 즉시 사라집니다.

PowerShell 창에서 전체 텍스트를 제거하기 위한 Clear host 명령어.

Command Prompt에서 자주 사용하는 간단한 cls 명령어를 PowerShell에서도 사용할 수 있습니다. 이 두 가지 텍스트 지우기 명령어는 오류 메시지를 만났을 때 유용합니다.

PowerShell에서 오류 메시지 아래에 cls 명령어 입력하여 전체 텍스트 제거.

Command Prompt나 PowerShell 창에서 입력 오류를 피하려면, 명령어를 복사하여 붙여넣으면 효율성이 향상됩니다.

: 이 가이드에서 설명한 대로 PowerShell을 사용하여 Windows 업데이트를 숨길 수 있습니다.

2. Convert-to-HTML

거대한 HTML 문자열을 가지는 것은 복잡한 PowerShell 스크린샷을 바라보는 것보다 더 미학적입니다. 스크립트 오류 및 기타 PowerShell 이벤트를 비기술 팀원과 공유해야 할 때 유용합니다.

모든 PowerShell 구성 요소는 PowerShell 화면에서 볼 수 있는 .NET 객체를 사용합니다. 이를 전체 브라우저 창에 표시하려면 Convert-to-HTML cmdlet을 사용하세요. 아래는 웹에서 모든 PowerShell 별칭을 보기 위한 예시입니다. “Invoke-Item” 이전에 별도의 줄을 사용하는 것을 잊지 마세요.

Get-Alias|ConvertTo-Html|Out-File aliases.htm  
Invoke-Item aliases.htm

PowerShell에서 별칭을 웹 페이지에 표시하기 위한 Convert-to-HTML 명령어.

HTML 변환 명령을 실행하면 PowerShell은 다른 애플리케이션을 사용하여 출력 파일을 여는 것을 요청합니다. 브라우저를 사용하면 별칭과 같은 객체의 목록이 생성됩니다.

웹 브라우저에서 볼 수 있는 PowerShell 별칭의 전체 목록.

3. Get-Command

주로 두 가지 유형의 명령어가 있습니다: 별칭과 함수입니다. PowerShell 별칭은 함수나 cmdlet의 별명으로 기능합니다. Windows에는 기본적으로 몇 가지 별칭이 저장되어 있으며, Get-Command를 사용하여 이를 검색할 수 있습니다. 자신만의 별칭을 만들 수도 있습니다.

PowerShell의 Get 명령 아래 별칭 목록.

PowerShell의 다른 명령 유형은 함수입니다. 이러한 함수는 승인된 동사(예: “get”)와 간단한 명사(예: “StorageNode”)를 사용합니다.

PowerShell의 Get-command 아래에 표시된 함수 목록.

우리는 환경 변수로 알려진 컴퓨터 이름과 함께 “Select-object” 함수를 사용하여 로컬 컴퓨터의 이름을 표시합니다.

$env:computername |Select-Object

PowerShell에서 Select-Object 함수와 환경 변수를 사용하여 컴퓨터 이름 가져오기.

함수는 고급 PowerShell 코딩의 출발점입니다. Start-process와 같은 함수를 사용하여 매개변수 및 변수를 설정하여 자신만의 배치 스크립트를 만들고 일련의 작업을 실행할 수 있습니다.

4. Get-Help

PowerShell에는 특정 모듈에 대한 다양한 도움말 기사를 한 번에 표시하는 자체 학습 문제 해결 cmdlet인 Get-Help가 있습니다. 도움말을 받기 위해 출력의 끝에 명령어를 입력하십시오. 도움말 콘텐츠의 업데이트된 버전을 허용하려면 Y를 누를 필요가 있습니다.

Get-Help 명령어 이후 다양한 모듈의 도움을 업데이트하는 PowerShell.

Get-help를 통해 다양한 도움말 옵션이 있습니다. 예를 들어, Get-process가 무엇을 하는지 및 그 정확한 구문을 배우고자 하는 경우, 다음을 입력합니다:

Get-Help Get-Process

PowerShell 창에서 get-help 명령어의 다양한 예시가 표시됩니다.

: PC에서 활동을 모니터링하는 키로거가 걱정되시나요? Windows에서 키로거를 감지하는 방법을 알아보세요.

5. Get-Process

Get-Process는 로컬 장치 또는 원격 컴퓨터에서 실행 중인 프로세스의 전체 목록을 테이블 형식으로 나열하는 필수 PowerShell 명령어입니다.

PowerShell에서 Get-Process 명령어가 모든 컴퓨터 프로세스를 나열합니다.

더 자세한 프로세스 정보를 얻으려면 프로세스 ID(PID)나 프로세스 이름과 같은 다른 매개변수를 지정해야 합니다.

Get-Process 명령어에서 프로세스 이름을 지정하는 PowerShell.

찾아야 할 프로세스를 정의할 때 포함할 수 있는 많은 특정 매개변수가 있습니다:

  • MB로 파일 크기를 지정하여 프로세스 나열
  • 우선 순위를 기준으로 프로세스 나열
  • 프로세스의 소유자 찾기

6. Get-Service

Windows 컴퓨터에는 많은 실행 중인 프로그램과 프로세스가 있습니다. 작업 관리자를 통해 직접 볼 수 있지만, Get-service를 사용하여 전체 목록을 보는 것이 더 쉽고, 나중에 이를 HTML로 변환할 수도 있습니다.

PowerShell 창의 Get-service 명령어에서 전체 서비스 목록.

정확한 서비스 이름을 기억하지 못하시나요? 알고 있는 몇 글자와 함께 와일드카드 기호(*)를 사용할 수 있습니다.

Get-service "xyz*"

PowerShell 창에 초기문자를 입력한 Get-service.

Get-Service와 함께 작동하는 몇 가지 일반적인 플래그에는 -DisplayName, -DependentServices, -InputObject, 및 -RequiredServices가 포함됩니다.

7. Install-Module 또는 Install-Script

PowerShell은 Microsoft Teams, McAfee Security, Bing Translator, 최신 Xbox 게임 등 Windows 소프트웨어를 위한 소프트웨어 패키지를 설치하기 위한 가장 안전한 옵션 중 하나입니다. 모든 사용자에게 PowerShell에서 지원되는 소프트웨어의 전체 목록을 보려면 다음을 입력하세요:

Get-AppxPackage -AllUsers

PowerShell에서 모든 패키지를 보려는 Get AppxPackage 명령어.

더 나은 방법은 원하는 패키지를 PowerShell Gallery에서 검색하는 것입니다. 최신 소프트웨어 패키지를 위한 단일 출처입니다. 패키지를 찾으면 Install-module, Install-Script, 또는 Install-Package와 같은 명령어를 입력합니다. 다음은 지뢰 찾기 게임을 설치하는 예입니다.

Install-Script -Name Minesweeper

PowerShell에서 Windows의 지뢰 찾기 게임 설치.

패키지가 PowerShell을 통해 설치될 때까지 몇 초 또는 몇 분을 기다립니다. 이후 Windows에서 사용할 수 있게 됩니다.

지뢰 찾기 패키지 설치 진행 중.

또 다른 유용한 명령어는 Find-package로, 컴퓨터 또는 웹에서 소프트웨어 패키지를 검색합니다.

: Window Package Manager를 사용하여 프로그램을 설치하고 업데이트할 수도 있습니다.

8. mkdir, md, rmdir

mkdir는 원주율 PowerShell 명령어가 아닙니다. 그러나 new-item의 별칭으로 광범위하게 사용되며 디렉터리를 생성합니다. 이 구문은 DOS와 Linux에서 매우 인기가 있습니다. 원하시는 이름으로 mkdir를 사용하면 빈 폴더가 생성됩니다.

mkdir "귀하의 빈 폴더 이름."

PowerShell이 방금 만든 폴더를 가리키게 하려면 간단한 cd 명령어를 사용하세요.

cd "방금 생성된 폴더의 이름."

PowerShell에서 mkdir 명령어를 사용하여 새 디렉터리를 생성하고, cd를 사용하여 새 디렉터리를 가리키는 모습.

새로 생성된 폴더는 항상 C:\Windows\System32 경로에 위치하지만, 다른 폴더를 가리키기 위해 cd를 사용할 수 있습니다.

PowerShell 명령어를 사용하여 생성한 새 폴더 파일 탐색기에서 확인.

상기와 같은 목적을 위해 mkdirmd로 대체할 수 있습니다. 디렉터리의 내용을 제거하려면 rmdir(remove directory) 명령어를 사용하세요:

rmdir "빈 콘텐츠가 있는 폴더의 이름."

PowerShell 창에서 새 폴더를 생성하고 제거하기 위해 사용된 md 및 rmdir 명령어.

9. New-Item

mkdirmd와 같은 별칭과 달리, New-item은 PowerShell에서 새 항목을 생성하고 값을 설정하는 공식 cmdlet입니다. 이 명령을 사용하여 파일과 폴더를 생성할 수 있을 뿐만 아니라 레지스트리 키와 항목을 만들 수 있습니다.

  1. New-item 명령어를 사용하여 새 디렉터리를 생성하려면 다음을 입력하세요:
New-item -Path "디렉터리 경로 위치\" -Name "귀하의 선택한 이름" -ItemType "directory"
  1. 디렉터리가 생성되면, 해당 폴더 안에 New-item을 사용하여 새 파일을 배치할 수 있습니다.
New-item -Path "생성된 디렉터리 경로 위치\" -Name "파일 이름.txt" -ItemType "file" -Value "귀하의 선택한 텍스트를 삽입."

PowerShell에서 New-item 명령어를 사용하여 텍스트가 있는 새 폴더와 파일을 생성하는 모습.

  1. 새로 생성된 파일은 해당 목적지 폴더에 있을 수 있습니다.

파일 탐색기에서 새로운 PowerShell 명령어 아이템의 필수 항목 보기.

10. Remove-Item

특정 폴더에서 .TXT, .DOC, .PDF, .WMV와 같은 확장자를 가진 모든 파일을 제거하고 싶으신가요? 먼저 cd를 사용하여 정확한 폴더 경로를 지정한 다음, 아래와 같이 Remove-Item cmdlet을 사용합니다:

Remove-Item * -Include *(filetype) -Exclude *(Any variable or number)

PowerShell에서 폴더에서 항목을 제거하는 모습.

위의 방법은 숨겨진 파일이나 읽기 전용 파일을 식별하고 제거하거나 특수 문자가 있는 파일을 삭제하는 데 유용합니다.

알아두면 좋은 점: PC에서 파일을 제거하는 데 문제가 있으신가요? Windows에서 삭제할 수 없는 파일을 강제로 삭제하는 방법을 배우세요.

11. Set-ExecutionPolicy

보안 목적상, PowerShell은 구성 파일, 스크립트 및 기타 매개변수에 영향을 미치는 자체 실행 정책을 가지고 있습니다. 이 보안 기능은 Set-executionPolicy 명령어를 사용하여 수행할 수 있으며, -force와 같은 플래그와 함께 사용되면 기존 항목을 덮어씁니다. 다음과 같은 구문을 따릅니다.

Set-ExecutionPolicy  
[-ExecutionPolicy]  
[[-Scope]]  
[-Force]  
[-WhatIf]  
[-Confirm]  
[]

예를 들어, Set-ExecutionPolicy 명령어를 사용하여 Chocolatey 소프트웨어를 설치하는 코드는 다음과 같이 표시됩니다. 실행되면 컴퓨터에 공식 Chocolatey 소프트웨어를 다운로드하고 설치합니다.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol =[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

PowerShell에서 Set-ExecutionPolicy 명령어를 사용하여 Chocolatey 설치.

12. Select-Object 및 Sort-Object

폴더나 하위 폴더에 많은 파일과 확장자가 있을 경우, 미리 정의된 속성을 기준으로 오름차순 또는 내림차순으로 정렬하거나 선택하고 싶을 수 있습니다. 이때 cmdlet Sort-ObjectSelect-Object가 여러 개체를 한 번에 재배치하는 데 도움을 줄 수 있습니다.

정렬 및 선택은 다양한 폴더의 모든 파일과 컴퓨터의 기존 프로세스에 적용할 수 있습니다. 아래는 메가바이트 단위의 작업 집합(WS) 크기를 기준으로 가장 중요한 10개 프로세스를 정렬하고 선택하는 예시입니다.

Get-process | Sort-Object -Property WS | Select-Object -Last "항목 수"

PowerShell에서 사전에 정의된 Get-process를 기반으로 한 개체 선택 및 정렬.

역사적 정보와 같은 다양한 매개변수에 대해 정렬 및 선택을 사용할 수 있으며, 메모장 파일에 포함된 모든 항목을 정렬하거나 컴퓨터의 다양한 이벤트를 정렬하는 데 사용할 수 있습니다.

13. Start- 및 Stop-Process

Windows에서 새 프로세스를 시작하거나 기존 프로세스를 중지하고 싶을 때, PowerShell cmdlet을 사용하여 이를 신속하게 달성할 수 있습니다.

프로세스를 신속하게 종료하려면 Stop-Process cmdlet을 사용하세요. 아래 예시는 WordPad의 프로세스를 종료하는 방법을 보여줍니다.

Stop-Process -Name "Process or Application name"

Windows에서 PowerShell로 WordPad 프로세스 중지하기.

동일하게 PowerShell 창에서 새로운 애플리케이션을 직접 시작하려면 Start-Process cmdlet과 -FilePath 플래그를 입력합니다.

Start-Process -FilePath "Application name"

PowerShell에서 WordPad 애플리케이션을 열기 위한 Start-process.

: Windows에서 실행 중인 백그라운드 애플리케이션과 프로세스를 중지하는 방법을 배우세요. 자원을 소모하고 있습니다.

14. Suspend- 및 Resume-Service

실행 중인 서비스를 시작하거나 중지하는 대신, 직접 일시 중지할 수 있습니다. Suspend-service cmdlet 사용은 간단하며 현재 사용하지 않는 서비스의 RAM 및 CPU 사용량을 줄이는 데 도움이 됩니다.

참고: 중지할 서비스의 이름을 얻으려면 Get-service를 사용할 수 있습니다.

Suspend-Service -DisplayName "Service full name"

PowerShell 명령어에서 essential PowerShell 명령어로 서비스 일시 중지.

종료된 서비스는 간단한 Resume-Service 명령어로 나중에 다시 시작할 수 있습니다. 시스템에 부정적인 영향을 주지 않고 일시 중지할 수 있는 서비스가 무엇인지 확실하지 않은 경우, 다음 명령어를 사용하세요:

Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service -Confirm

PowerShell 창에서 일시 중지 가능한 서비스 나열.

15. Test-Path

프로그래밍에서 파일 경로 오류를 피하려면 구문에서 파일 경로가 정확한지 확실히 해야 합니다. 파일 탐색기를 통해 항상 확인할 수 있지만, 더 정확한 방법은 Test-Path cmdlet을 사용하는 것으로, 주어진 경로가 존재하는지에 대한 답을 “True” 또는 “False”로 제공할 수 있습니다.

Test-Path -Path "경로 이름"

PowerShell에서 Test-path 필수 PowerShell 명령어.

이 명령어를 수정하여 특정 파일의 가용성을 테스트하고, 레지스트리 경로의 정확성을 확인하며, 특정 파일 유형 외 다른 파일이 컴퓨터에 있는지 여부를 결정할 수 있습니다.

16. Wait-Process

여러 프로세스가 동시에 실행되고 있을 때, 그중 하나 이상이 중지된 후 다시 사용할 수 있도록 기다리려고 할 수 있습니다. Wait-Process cmdlet이 큰 도움이 될 수 있습니다. PowerShell이 프로세스가 중지되기 전에 기다릴 타임아웃을 지정할 수 있습니다.

Wait-Process -Name "Process name" -Timeout (초 단위)

PowerShell에서 Wait Process 필수 PowerShell 명령어.

기타 필수 PowerShell 명령어

위의 PowerShell 명령어 외에도 다음 cmdlet과 함수를 배우는 것도 유용합니다:

  • Echo는 PowerShell 콘솔에 값을 출력하는 데 사용되는 cmdlet입니다.
  • Get-Host는 Windows에서 PowerShell을 호스팅하는 프로그램의 전체 세부정보를 제공합니다.
  • Test-JSON은 문자열이 유효한 JSON 객체인지 테스트하는 데 사용되는 고급 cmdlet입니다.
  • Trace-command는 전체 표현식이나 명령을 추적하여 포함된 매개변수 및 플래그를 찾습니다.
  • Write-output은 이름에서 알 수 있듯이 콘솔 창에서 마지막 명령의 출력을 제공합니다.

: 시스템에서 제거하지 않도록 악성코드처럼 보일 수 있는 합법적인 Windows 프로세스를 신속하게 확인하세요.

자주 묻는 질문

“PowerShell 스크립트가 cmdlet의 이름으로 인식되지 않음” 오류를 해결하려면 어떻게 해야 하나요?

PowerShell이 cmdlet의 이름을 인식하지 않는 경우, 경로 변수가 올바르게 설정되지 않았을 수 있습니다. 잘못된 폴더 경로를 수정하여 경로 변수를 수정하면 됩니다.

PowerShell에서 오류 출력을 변수로 캡처하려면 어떻게 해야 하나요?

PowerShell에는 다양한 cmdlet을 입력할 때 모든 오류 출력을 캡처하도록 설계된 오류 변수 매개변수인 $ErrorVariable이 있습니다. 이는 문제 해결에 사용할 수 있습니다.

Image credit: DepositPhotos. 모든 스크린샷은 Sayak Boral에 의해 제공됩니다.