윈도우 파워셸(PowerShell) 기초: 초보자도 10분 만에 스크립트 짜는 법

 

"반복되는 마우스 클릭, 이제 그만!" 윈도우 관리의 핵심인 PowerShell의 기초 문법부터 실전 자동화 스크립트 작성법까지, 초보자도 바로 써먹을 수 있는 핵심 노하우를 알려드립니다.

매일 아침 출근해서 똑같은 폴더를 열고, 똑같은 파일을 백업하고 계신가요? "이거 누가 대신 좀 해줬으면 좋겠다"라고 생각해보신 적 있으시죠? 저도 시스템 관리를 처음 시작했을 때 수백 개의 파일을 일일이 이름 바꾸다가 퇴근 시간을 넘긴 적이 한두 번이 아니랍니다. 😅

Windows PowerShell은 그런 단순 반복 업무로부터 우리를 해방해 줄 강력한 도구입니다. 검은 화면에 흰 글씨가 무섭게 보일 수 있지만, 원리만 알면 마치 레고 블록을 조립하듯 쉽게 자동화 시스템을 만들 수 있어요. 오늘은 파워셸의 기초부터 당장 써먹을 수 있는 스크립트 작성법까지 아주 쉽게 풀어드릴게요! 🚀

 


PowerShell이란? (CMD와 다른 점) 🤔

많은 분들이 예전의 도스(CMD) 창과 파워셸을 헷갈려 하십니다. 가장 큰 차이점은 CMD는 '텍스트'를 다루지만, PowerShell은 '객체(Object)'를 다룬다는 점입니다.

쉽게 말해, CMD는 결과값을 단순히 글자로만 보여주지만, 파워셸은 그 결과값을 덩어리(객체)로 가지고 있어서, 그 안에서 날짜만 뽑거나, 이름만 바꾸는 등 2차 가공이 훨씬 자유롭습니다. 윈도우 시스템 관리자를 위해 탄생한 차세대 쉘이죠.

💡 시작 전 필수 설정! (Execution Policy)
파워셸 스크립트(.ps1)를 처음 실행하면 보안 때문에 막히는 경우가 많습니다. 관리자 권한으로 파워셸을 열고 아래 명령어를 입력해 실행 권한을 변경해 주세요.
Set-ExecutionPolicy RemoteSigned

 

기초 문법: 동사-명사 구조 이해하기 📊

파워셸의 명령어(Cmdlet)는 영어를 조금만 알면 누구나 유추할 수 있는 '동사-명사(Verb-Noun)' 구조로 되어 있습니다. 예를 들어 '서비스를 가져와라'는 `Get-Service`가 되는 식이죠.

자주 쓰는 명령어 비교

기능 기존 CMD PowerShell
파일 목록 보기 dir Get-ChildItem (dir, ls 도 가능)
화면 지우기 cls Clear-Host (cls, clear 도 가능)
프로세스 확인 tasklist Get-Process
파일 복사 copy Copy-Item

보시다시피 `Get`(가져오다), `Set`(설정하다), `New`(만들다), `Remove`(지우다) 등의 동사만 알면 뒤에 명사를 붙여서 원하는 작업을 찾을 수 있습니다.

 

변수와 파이프라인 활용법 🧮

단순 명령어 실행을 넘어 '스크립트'를 짜기 위해서는 변수와 파이프라인을 알아야 합니다. 이 두 가지만 알면 파워셸의 절반은 마스터한 셈입니다!

1. 변수 ($)

모든 변수 앞에는 $ 기호가 붙습니다. 값을 저장해두고 계속 재사용할 때 씁니다.

$myName = "홍길동"
Write-Host "안녕하세요, $myName 님!"

2. 파이프라인 (|)

앞에서 실행한 결과물을 뒤로 넘겨주는 역할을 합니다. 연결고리라고 생각하시면 됩니다.

Get-Service | Where-Object { $_.Status -eq 'Stopped' }
# 설명: 모든 서비스를 가져와서(|), 그중에 상태가 '멈춤'인 것만 골라라
⚠️ 주의하세요!
`Remove-Item` (삭제) 같은 명령어를 파이프라인으로 연결할 때는 정말 신중해야 합니다. `Get-ChildItem | Remove-Item`을 잘못 실행하면 폴더 내 모든 파일이 순식간에 사라질 수 있습니다. 실행 전 `-WhatIf` 옵션을 붙여서 미리 테스트해보세요.

 

실전! 나만의 명령어 만들기 (인터랙티브) 👩‍💼👨‍💻

아직 명령어가 낯설게 느껴지시나요? 아래 도구를 사용해 간단한 파워셸 명령어를 직접 조립해 보세요. 원하는 행동과 대상을 선택하면 자동으로 명령어를 만들어 드립니다.

🔢 PowerShell 명령어 생성기

위에서 만들어진 명령어를 보면 구조가 보이시나요? 이렇게 동사와 명사를 조합하고, 필요한 옵션(`-Name` 등)을 붙이는 것이 파워셸 스크립트의 기본입니다.

 

💻

PowerShell 핵심 요약

✨ 기본 구조: 동사-명사 (예: Get-Help, Start-Process)
📊 객체 지향: 텍스트가 아닌 객체(Object)로 데이터를 주고받음
🧮 파이프라인(|):
명령어 A | 명령어 B (A의 결과를 B로 넘김)
👩‍💻 보안 설정: 스크립트 실행 전 `Set-ExecutionPolicy` 확인 필수

자주 묻는 질문 ❓

Q: PowerShell ISE와 VS Code 중 무엇을 써야 하나요?
A: 과거에는 윈도우에 내장된 'ISE'를 많이 썼지만, 현재 마이크로소프트는 'VS Code(Visual Studio Code)' 사용을 권장합니다. 기능도 훨씬 강력하고 업데이트도 빠르기 때문입니다.
Q: 리눅스 명령어도 쓸 수 있나요?
A: 네, `ls`, `cat`, `curl` 같은 기본적인 리눅스 명령어 별칭(Alias)을 지원합니다. 하지만 옵션 사용법이 다를 수 있으니 주의해야 합니다. 최신 'PowerShell 7' 버전을 설치하면 호환성이 더 좋습니다.
Q: 스크립트 실행이 안 되고 빨간 글씨만 떠요!
A: 대부분 '실행 정책(Execution Policy)' 문제입니다. 관리자 권한으로 파워셸을 실행한 뒤 `Set-ExecutionPolicy RemoteSigned`를 입력하고 `Y`를 눌러 승인해 주세요.

처음에는 낯설고 복잡해 보일 수 있지만, PowerShell은 한번 익혀두면 평생 써먹는 강력한 무기가 됩니다. 오늘 소개해드린 명령어 생성기로 간단한 것부터 하나씩 시도해 보세요. 내가 잠자는 사이에도 컴퓨터가 알아서 일하게 만드는 마법, 여러분도 부릴 수 있습니다! 더 궁금한 명령어 사용법이 있다면 댓글로 남겨주세요~ 😊

 

댓글

이 블로그의 인기 게시물

한국식 비건 식단, 과연 건강할까? 팩트 체크와 쉬운 레시피

한반도 동해 해역 단층 연계와 일본 지진 연쇄 가능성

고혈압 진단 기준과 실비보험 청구 가능한 항목