윈도우 PowerShell 기초 명령어 완벽 정리와 자동화 스크립트 활용법
🧠 복잡한 명령어 없이 자동화 구현까지 가능한 PowerShell을 쉽게 시작해보세요
컴퓨터 작업을 조금이라도 자동화해보고 싶었던 경험, 다들 한 번쯤 있으시죠.
하지만 명령어 환경에 대한 막연한 두려움과 생소함 때문에 시작도 하기 전에 포기한 분들이 많습니다.
특히나 ‘명령 프롬프트’와 비슷하게 생긴 PowerShell은 더 어렵게 느껴질 수 있어요.
그런데 놀랍게도 PowerShell은 전통적인 텍스트 기반 명령어에서 한 단계 진화한, 객체 기반의 쉘 환경이라는 점에서 초보자에게도 훨씬 더 직관적인 도구가 될 수 있습니다.
이번 글에서는 PowerShell의 핵심 개념부터 자주 사용하는 명령어인 Get-Process, Set-Location, Get-ChildItem 등 실무에서 바로 활용 가능한 명령어들을 중심으로 소개드릴게요.
초보자도 따라 할 수 있도록 예제와 함께 설명하고, 나아가 고급 자동화 스크립트로 활용하는 팁까지 함께 알아봅니다.
📋 목차
🚀 PowerShell이란 무엇인가요?
PowerShell은 Microsoft에서 개발한 명령줄 셸이자 스크립트 언어입니다.
기존의 명령 프롬프트(cmd)보다 훨씬 더 강력하고 유연하며, 시스템 관리와 자동화 작업에 특화된 기능을 제공합니다.
특히 윈도우 환경에 최적화되어 있으며, 최근에는 리눅스와 macOS에서도 사용할 수 있도록 확장되었습니다.
기존의 텍스트 기반 출력 방식과는 달리, PowerShell은 객체(Object)를 기반으로 데이터를 처리합니다.
이 덕분에 결과물을 더 세밀하게 제어할 수 있고, 복잡한 데이터 가공도 훨씬 쉬워지죠.
예를 들어, 단순히 파일 목록을 보여주는 것을 넘어서, 파일 속성, 크기, 날짜 등을 구조화된 형태로 가져와 자동으로 처리할 수 있습니다.
또한 PowerShell은 .NET 프레임워크 기반으로 작동하기 때문에 다양한 시스템 리소스에 접근하거나, 응용 프로그램과 연동하여 업무 자동화 스크립트를 구현하는 데 최적화되어 있습니다.
IT 관리자는 물론, 일반 사용자에게도 큰 도움을 줄 수 있는 도구입니다.
💡 TIP: PowerShell은 Windows 10 이상에서 기본적으로 설치되어 있으며, 마이크로소프트 공식 문서에서 더 많은 자료를 확인할 수 있습니다.
🔍 PowerShell의 객체 기반 구조 이해하기
PowerShell이 기존 명령 프롬프트와 가장 차별화되는 지점은 바로 출력 결과가 문자열이 아닌 객체라는 점입니다.
예를 들어, 파일 목록을 출력한다고 할 때 일반적인 셸에서는 단순히 텍스트 문자열이지만, PowerShell에서는 각 파일이 파일 객체로 처리됩니다.
이러한 객체는 속성(Property)과 메서드(Method)를 포함하고 있어, 사용자가 필요한 정보를 세밀하게 조작하거나 필터링할 수 있습니다.
이 덕분에 PowerShell은 단순한 자동화 스크립트뿐 아니라, 정교한 데이터 처리와 시스템 제어까지 가능해지는 강력한 도구가 됩니다.
📊 예제로 보는 객체의 개념
Get-Process | Get-Member
위 명령어는 현재 실행 중인 프로세스를 가져오고, 그 프로세스 객체가 가지고 있는 속성과 메서드를 확인하는 예시입니다.
이처럼 PowerShell은 결과 데이터를 단순 출력하는 것이 아니라, 구조화된 객체로 변환해 다룰 수 있게 도와줍니다.
💎 핵심 포인트:
PowerShell의 가장 큰 강점은 모든 것이 .NET 객체라는 점이며, 이를 통해 초보자도 복잡한 시스템 정보를 쉽게 다룰 수 있습니다.
📂 자주 사용하는 명령어 예제: Get-Process, Set-Location
PowerShell에서는 다양한 명령어를 통해 시스템 상태를 조회하거나 위치를 변경하는 등의 작업을 수행할 수 있습니다.
특히 Get-Process와 Set-Location은 기본 중의 기본으로, 처음 PowerShell을 익히는 사용자에게도 매우 유용합니다.
🔎 Get-Process: 실행 중인 프로세스 확인
Get-Process
이 명령어는 현재 시스템에서 실행 중인 모든 프로세스를 보여줍니다.
프로세스 이름, ID, 메모리 사용량 등 다양한 정보를 포함하고 있으며, 다른 명령과 조합해 특정 조건만 필터링하는 것도 가능합니다.
📁 Set-Location: 디렉터리 위치 변경
Set-Location "C:\Users\YourName\Documents"
해당 명령어는 현재 작업 디렉터리를 변경할 때 사용됩니다.
리눅스나 macOS에서 사용하는 cd 명령어와 유사하지만, PowerShell에서는 더 다양한 경로 형식을 인식하고 처리할 수 있습니다.
💎 핵심 포인트:
PowerShell은 단순 명령어만 입력해도 시스템 정보를 빠르게 파악할 수 있으며, 초보자가 실습하기 좋은 환경입니다.
🧩 Get-ChildItem으로 폴더 탐색 자동화하기
폴더 안의 파일이나 하위 폴더를 빠르게 조회하고 싶을 때 사용할 수 있는 명령어가 Get-ChildItem입니다.
일반적으로 dir 또는 ls와 비슷한 역할을 하지만, PowerShell에서는 객체 기반으로 더 풍부한 정보를 다룰 수 있다는 점이 큰 차이입니다.
📁 기본 사용법
Get-ChildItem "C:\Users\YourName\Documents"
지정한 경로에 있는 모든 파일과 폴더 목록을 가져옵니다.
여기서 출력되는 항목들은 단순 텍스트가 아닌, 파일 객체로 구성되어 있기 때문에 이름, 확장자, 크기, 작성일자 등 세부 속성을 쉽게 필터링하거나 조합할 수 있습니다.
🔄 재귀 탐색으로 하위 폴더까지 검색
Get-ChildItem -Recurse
이 옵션을 사용하면 하위 폴더까지 포함하여 모든 항목을 재귀적으로 탐색할 수 있습니다.
복잡한 폴더 구조를 한 번에 파악하거나, 특정 확장자 파일만 골라내는 자동화 스크립트에 자주 활용됩니다.
💡 TIP: -Filter 또는 -Include 옵션을 함께 사용하면 특정 조건의 파일만 추출할 수 있어요. 예: Get-ChildItem *.txt -Recurse
💻 고급 스크립트로 업무 자동화 구현하기
PowerShell의 진가는 반복적이고 귀찮은 작업을 자동화할 때 빛을 발합니다.
단순 명령어를 넘어서, 조건문, 반복문, 함수 등을 활용하면 실제 업무 환경에서 강력한 자동화 도구로 활용할 수 있습니다.
📌 특정 확장자 파일 자동 백업 스크립트
$source = "C:\Users\YourName\Documents"
$target = "D:\Backup"
Get-ChildItem -Path $source -Filter *.docx -Recurse | ForEach-Object {
$destination = Join-Path -Path $target -ChildPath $_.Name
Copy-Item -Path $_.FullName -Destination $destination -Force
}
위 스크립트는 지정한 폴더 내 모든 .docx 문서를 찾아 백업 폴더로 복사하는 기능을 수행합니다.
정해진 경로만 바꾸면 누구나 손쉽게 활용 가능하며, 일상 업무 중 중요한 파일을 자동으로 저장하는 데 유용합니다.
- 🛠️Get-ChildItem으로 원하는 파일만 추출
- ⚙️ForEach-Object로 파일 단위 반복 처리
- 📂Copy-Item으로 자동 복사 작업 수행
💎 핵심 포인트:
스크립트는 PowerShell ISE 또는 메모장에서 작성 후 .ps1 확장자로 저장하고, 관리자 권한으로 실행하면 됩니다.
❓ 자주 묻는 질문 (FAQ)
PowerShell은 명령 프롬프트와 어떻게 다른가요?
초보자가 PowerShell을 배워도 괜찮을까요?
PowerShell은 무료인가요?
PowerShell 스크립트를 실행하려면 어떻게 해야 하나요?
리눅스나 macOS에서도 PowerShell을 쓸 수 있나요?
스크립트를 예약 실행할 수도 있나요?
PowerShell로 어떤 작업을 자동화할 수 있나요?
PowerShell에서 GUI 프로그램을 실행할 수도 있나요?
📘 PowerShell 기초 명령어부터 자동화까지 한눈에 정리
PowerShell은 단순한 명령어 입력 도구가 아닙니다.
객체 기반 구조를 바탕으로 시스템 관리, 파일 탐색, 자동화 작업까지 폭넓게 활용할 수 있는 강력한 스크립트 환경입니다.
이번 글에서는 Get-Process, Set-Location, Get-ChildItem 등의 핵심 명령어와 함께 기본 개념부터 고급 스크립트 예제까지 차근차근 살펴보았습니다.
초보자도 어렵지 않게 따라할 수 있는 예제 중심의 설명을 통해, 누구나 실무에서 활용 가능한 자동화 도구로 PowerShell을 활용할 수 있도록 안내했습니다.
윈도우 환경에서 반복 업무를 줄이고 생산성을 높이고자 하는 분들께 특히 강력히 추천드리는 도구입니다.
🏷️ 관련 태그 : PowerShell기초, 명령어정리, 윈도우자동화, 시스템스크립트, Get-Process, Set-Location, Get-ChildItem, 업무자동화팁, 윈도우관리도구, 스크립트입문