카테고리 없음

문법을 몰라도 괜찮습니다: 'Get-Help'와 'Get-Member' 200% 활용법

스워플 2026. 2. 8. 12:28

파워셸 시리즈의 세 번째 포스팅입니다. 파워셸을 처음 접하는 분들이 가장 많이 하는 걱정은 "그 수천 개의 명령어를 어떻게 다 외우지?"입니다. 하지만 파워셸의 고수들은 명령어를 외우지 않습니다. 대신 **'명령어를 찾는 방법'**을 알고 있을 뿐입니다.

구글 검색 없이도 파워셸 창 안에서 모든 사용법을 스스로 터득할 수 있게 해주는 마법 같은 두 가지 명령어, Get-Help와 Get-Member의 활용법을 정리했습니다.

 

새로운 프로그래밍 언어나 도구를 배울 때 가장 큰 장벽은 "암기"입니다. CMD 시절에는 옵션 하나를 알기 위해 인터넷 검색을 하거나 두꺼운 매뉴얼을 뒤져야 했습니다. 하지만 파워셸(PowerShell)의 설계 철학은 다릅니다. 파워셸은 **'발견 가능성(Discoverability)'**을 최우선으로 두고 만들어졌습니다. 즉, 사용자가 모르는 것이 있을 때 외부 도움 없이 콘솔 안에서 답을 찾을 수 있도록 설계되었다는 뜻입니다.

오늘은 파워셸의 양대 산맥이라 불리는 **Get-Help**와 Get-Member 명령어만으로, 낯선 명령어의 사용법을 익히고 데이터를 내 입맛대로 가공하는 방법을 알아보겠습니다. 이 두 가지만 마스터하면 여러분은 더 이상 "초보자"가 아닙니다.

1. 파워셸의 친절한 선생님: Get-Help (도움말)

리눅스에 man 페이지가 있다면 파워셸에는 Get-Help가 있습니다. 단순히 명령어의 설명만 보여주는 것이 아니라, 구체적인 예제와 문법 구조까지 상세히 알려줍니다.

(1) 가장 먼저 해야 할 일: Update-Help

파워셸을 처음 설치했다면 도움말 파일이 비어있거나 구버전일 수 있습니다. 가장 먼저 관리자 권한으로 파워셸을 실행한 뒤 아래 명령어를 입력하여 최신 매뉴얼을 다운로드하세요.

Update-Help -Force

(2) "예제를 보여줘": -Examples 파라미터

초보자가 가장 많이 쓰는 옵션입니다. 복잡한 문법 설명보다 잘 짜인 예제 코드 하나가 훨씬 이해하기 쉽습니다. 만약 Get-Service라는 명령어를 어떻게 쓰는지 궁금하다면 다음과 같이 입력해 보세요.

Get-Help Get-Service -Examples

이렇게 하면 "실행 중인 서비스만 찾는 법", "특정 이름의 서비스를 찾는 법" 등 실무에서 바로 복사해 쓸 수 있는 예제 코드들이 주르륵 출력됩니다.

(3) "인터넷 창으로 보고 싶어": -Online 파라미터

콘솔 창의 텍스트가 읽기 불편하다면 -Online 옵션을 붙여보세요.

Get-Help Get-Service -Online

기본 웹 브라우저가 열리면서 마이크로소프트의 공식 문서(Microsoft Learn) 페이지로 바로 이동합니다. 항상 최신 상태의 문서를 볼 수 있다는 장점이 있습니다.

(4) 숨겨진 꿀기능: -ShowWindow

이 기능을 모르는 분들이 꽤 많습니다. 도움말을 별도의 팝업 창(GUI)으로 띄워주는 기능입니다. 듀얼 모니터를 쓰거나 창을 옆에 띄워두고 작업할 때 매우 유용합니다.

Get-Help Get-Service -ShowWindow

2. 객체의 해부학자: Get-Member (속성과 메서드)

지난 1편에서 **"파워셸은 텍스트가 아니라 객체(Object)를 다룬다"**라고 강조했습니다. 그런데 도대체 그 객체 안에 무엇이 들어있는지 어떻게 알 수 있을까요? 이때 사용하는 것이 바로 Get-Member입니다. (단축키 별칭: gm)

Get-Member는 파이프라인(|)으로 넘어온 데이터 덩어리를 엑스레이처럼 찍어서 **"이 데이터가 가진 정보(Property)"**와 **"이 데이터로 할 수 있는 행동(Method)"**을 보여줍니다.

상황: 파일의 정보를 알고 싶을 때

예를 들어, 윈도우 메모장(notepad.exe) 파일에 대한 정보를 가져왔다고 가정해 봅시다.

$file = Get-Item "C:\Windows\System32\notepad.exe"

이제 $file이라는 변수 안에는 메모장 파일 객체가 들어있습니다. 이 객체 안에 어떤 정보가 숨어있는지 확인하려면 파이프라인으로 넘겨주면 됩니다.

$file | Get-Member

이 명령어를 실행하면 수많은 리스트가 나오는데, 여기서 중요한 건 PropertyMethod 두 가지입니다.

(1) Property (속성): 데이터의 정보

MemberType이 Property로 되어 있는 항목들은 그 객체가 가진 **'정보'**입니다.

  • Length: 파일 크기
  • CreationTime: 생성 날짜
  • LastWriteTime: 마지막 수정 날짜
  • Extension: 확장자

이 이름을 알았으니, 이제 우리는 이렇게 활용할 수 있습니다.

# 파일 크기만 보고 싶을 때
$file.Length 

# 생성 날짜만 보고 싶을 때
$file.CreationTime

(2) Method (메서드): 데이터로 할 수 있는 행동

MemberType이 Method로 되어 있는 항목들은 이 객체로 수행할 수 있는 **'동작'**입니다.

  • Delete(): 삭제하기
  • CopyTo(): 복사하기
  • MoveTo(): 이동하기

이를 활용하면 별도의 명령어(Remove-Item)를 쓰지 않고도 객체 스스로 행동하게 만들 수 있습니다.

# 파일 객체 스스로 자신을 삭제하게 만들기
$file.Delete()

3. 실전 응용: 모르는 명령어 정복하기

자, 이제 Get-Help와 Get-Member를 조합하여 모르는 문제를 해결하는 과정을 시뮬레이션해 보겠습니다.

미션: "현재 컴퓨터의 BIOS 시리얼 번호를 알고 싶다."

  1. 명령어 찾기: BIOS와 관련된 명령어가 있을 것 같습니다. Get-Command로 검색해 봅니다.
  2. Get-Command *BIOS* # 결과: Get-CimInstance, Get-WmiObject 등이 검색됨 (혹은 관련 모듈이 있다면 Get-Bios 등) # 보통 윈도우 정보는 'ComputerInfo'에 많으므로 다시 검색해 봅니다. Get-Command *ComputerInfo* # 결과: Get-ComputerInfo 발견!
  3. 사용법 확인: Get-Help로 예제를 봅니다.
  4. Get-Help Get-ComputerInfo -Examples # 예제를 보니 그냥 입력하면 모든 정보가 나온다고 합니다.
  5. 속성 확인: 정보가 너무 많이 쏟아져서 시리얼 번호가 뭔지 모르겠습니다. Get-Member로 속성 이름을 찾아봅니다.
  6. Get-ComputerInfo | Get-Member # 리스트 중에서 'Serial'이나 'Bios'가 들어간 단어를 찾습니다. # 'BiosSeralNumber'라는 Property를 발견했습니다!
  7. 최종 해결:
  8. (Get-ComputerInfo).BiosSerialNumber

마치며

파워셸의 바다는 넓고 깊습니다. 모든 명령어를 머릿속에 넣고 다니는 것은 불가능하며 비효율적입니다. 대신 여러분의 주머니 속에는 **Get-Help (지도)**와 **Get-Member (돋보기)**가 있습니다.

이 두 가지만 능숙하게 다룰 줄 안다면, 앞으로 어떤 새로운 명령어(Azure, AWS, VMware 등)를 만나더라도 두려움 없이 분석하고 활용할 수 있습니다.

다음 포스팅에서는 파워셸의 꽃이라 불리는 **'데이터 가공'**에 대해 알아봅니다. 엑셀 없이 CSV 파일을 읽어들이고, 원하는 데이터만 뽑아서 다시 저장하는 자동화의 기초를 다뤄보겠습니다.