윈도우 파워셸(PowerShell) 기초: 초보자도 10분 만에 스크립트 짜는 법
매일 아침 출근해서 똑같은 폴더를 열고, 똑같은 파일을 백업하고 계신가요? "이거 누가 대신 좀 해줬으면 좋겠다"라고 생각해보신 적 있으시죠? 저도 시스템 관리를 처음 시작했을 때 수백 개의 파일을 일일이 이름 바꾸다가 퇴근 시간을 넘긴 적이 한두 번이 아니랍니다. 😅
Windows PowerShell은 그런 단순 반복 업무로부터 우리를 해방해 줄 강력한 도구입니다. 검은 화면에 흰 글씨가 무섭게 보일 수 있지만, 원리만 알면 마치 레고 블록을 조립하듯 쉽게 자동화 시스템을 만들 수 있어요. 오늘은 파워셸의 기초부터 당장 써먹을 수 있는 스크립트 작성법까지 아주 쉽게 풀어드릴게요! 🚀
PowerShell이란? (CMD와 다른 점) 🤔
많은 분들이 예전의 도스(CMD) 창과 파워셸을 헷갈려 하십니다. 가장 큰 차이점은 CMD는 '텍스트'를 다루지만, PowerShell은 '객체(Object)'를 다룬다는 점입니다.
쉽게 말해, CMD는 결과값을 단순히 글자로만 보여주지만, 파워셸은 그 결과값을 덩어리(객체)로 가지고 있어서, 그 안에서 날짜만 뽑거나, 이름만 바꾸는 등 2차 가공이 훨씬 자유롭습니다. 윈도우 시스템 관리자를 위해 탄생한 차세대 쉘이죠.
파워셸 스크립트(.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. 변수 ($)
모든 변수 앞에는 $ 기호가 붙습니다. 값을 저장해두고 계속 재사용할 때 씁니다.
Write-Host "안녕하세요, $myName 님!"
2. 파이프라인 (|)
앞에서 실행한 결과물을 뒤로 넘겨주는 역할을 합니다. 연결고리라고 생각하시면 됩니다.
# 설명: 모든 서비스를 가져와서(|), 그중에 상태가 '멈춤'인 것만 골라라
`Remove-Item` (삭제) 같은 명령어를 파이프라인으로 연결할 때는 정말 신중해야 합니다. `Get-ChildItem | Remove-Item`을 잘못 실행하면 폴더 내 모든 파일이 순식간에 사라질 수 있습니다. 실행 전 `-WhatIf` 옵션을 붙여서 미리 테스트해보세요.
실전! 나만의 명령어 만들기 (인터랙티브) 👩💼👨💻
아직 명령어가 낯설게 느껴지시나요? 아래 도구를 사용해 간단한 파워셸 명령어를 직접 조립해 보세요. 원하는 행동과 대상을 선택하면 자동으로 명령어를 만들어 드립니다.
🔢 PowerShell 명령어 생성기
위에서 만들어진 명령어를 보면 구조가 보이시나요? 이렇게 동사와 명사를 조합하고, 필요한 옵션(`-Name` 등)을 붙이는 것이 파워셸 스크립트의 기본입니다.
PowerShell 핵심 요약
자주 묻는 질문 ❓
처음에는 낯설고 복잡해 보일 수 있지만, PowerShell은 한번 익혀두면 평생 써먹는 강력한 무기가 됩니다. 오늘 소개해드린 명령어 생성기로 간단한 것부터 하나씩 시도해 보세요. 내가 잠자는 사이에도 컴퓨터가 알아서 일하게 만드는 마법, 여러분도 부릴 수 있습니다! 더 궁금한 명령어 사용법이 있다면 댓글로 남겨주세요~ 😊

댓글
댓글 쓰기