Netwrix 1Secure는 데이터와 아이덴티티 전반에 걸쳐 통합된 가시성을 제공합니다 - 14일간 무료로 전체 액세스가 가능합니다.무료 평가판 시작

리소스 센터블로그

필수 PowerShell 명령: 초보자를 위한 치트 시트

필수 PowerShell 명령: 초보자를 위한 치트 시트

Aug 25, 2025

PowerShell은 Windows 관리를 자동화하고, 다양한 플랫폼에서 시스템을 관리하기 위한 명령줄 셸이자 스크립팅 언어입니다. 초보자는 Get-Help, Get-ChildItem, Get-Process, Set-Location, New-Item, 그리고 Export-Csv 같은 cmdlet을 익혀야 합니다. PowerShell은 객체 기반 파이프라인, 효율성을 위한 별칭, 원격 세션, 보안을 위한 실행 정책을 지원합니다. 연습을 통해 이러한 명령은 자동화, 시스템 관리, 그리고 안전한 스크립팅을 위한 기반이 됩니다.

PowerShell 소개

PowerShell이란?

PowerShell은 스크립팅 언어를 지원하는 강력한 명령줄 셸로, 로컬 및 원격에서 컴퓨터 리소스를 관리할 수 있는 도구를 제공합니다.

Windows 관리를 위한 PowerShell의 이점

Windows PowerShell 명령을 사용하면 사용자, 서비스, 파일 또는 스크립트를 관리하는 등 반복적인 작업을 자동화할 수 있습니다. 또한 PowerShell은 시스템 관리, 원격 관리, 그리고 Active Directory , Entra ID 및 Exchange 같은 시스템을 통합하는 데에도 활용할 수 있습니다.

PowerShell과 명령 프롬프트(Command Prompt)의 차이점

PowerShell과 명령줄은 기능, 설계, 역량이 다릅니다. 현재 수행하려는 작업에 적합한 옵션을 선택하려면 다음 내용을 고려하세요:

-

Command line

PowerShell

Command syntax

Simple and limited to basic tasks

Complex commands in the verb-noun format

Scripting

Limited scripting capabilities

Advanced scripting capabilities

Output

Plain text

Can be structured objects such as tables and lists

Extensibility

Limited extensibility

Highly extensible through modules and .Net libraries, custom cmdlets and functions

Pipelines

Supports piping of plain text from one command to another

Supports piping of objects with properties

PowerShell 명령의 주요 구성 요소

PowerShell Cmdlet: 동사-명사 구조

PowerShell 명령은 동사-명사 구문을 사용합니다. 동사 부분은 수행할 작업(동작)을 지정하고, 명사 부분은 해당 동작이 수행될 대상 객체를 정의합니다. 예를 들면 Get-process, New-item, Set-DateRemove-Item.

일반적으로 다음과 같은 동사가 포함됩니다:

  • Get: 데이터를 검색합니다
  • Set: 개체의 속성을 수정합니다
  • Add: 컬렉션에 항목을 추가합니다
  • Stop: 프로세스 또는 서비스를 중지합니다
  • 시작: 프로세스 또는 서비스를 시작합니다
  • 지우기: 컬렉션에서 모든 항목을 제거합니다

PowerShell 별칭: 바로가기와 레거시 지원

별칭(Alias)은 cmdlet, 함수, 스크립트의 짧은 이름입니다. 별칭은 입력 효율을 높이고 레거시 버전을 지원하기 위해 사용됩니다. 현재 PowerShell 세션에 정의된 모든 별칭은 Get-Alias 명령을 입력하여 확인할 수 있습니다.

다음은 자주 사용하는 별칭입니다:

  • Ls —다음에 대한 별칭: Get-ChildItem
  • Gci —다음에 대한 또 다른 별칭: Get-ChildItem
  • Gc —다음에 대한 별칭: Get-Content
  • Rm — 다음에 대한 별칭: Remove-Item
  • Cd —다음에 대한 별칭: Set-Location
  • Cls — 별칭: Clear-Host
  • Dir — 별칭: Get-ChildItem

PowerShell 명령의 매개변수 이해하기

매개변수는 명령, 함수 및 스크립트에 값이나 옵션을 전달하여 동작을 수정하는 데 사용됩니다. cmdlet의 매개변수에 대한 자세한 내용을 보려면 Get-Help 를 실행하세요.

매개변수의 기본 유형은 다음과 같습니다:

  • 위치(순서) 매개변수는 매개변수 이름을 명시하지 않고 특정 순서대로 전달되며, 다음 예와 같습니다:
      Copy-Item "C:\File1.txt" "D:\Backup\"
      
  • 이름 매개변수 는 다음과 같이 접두사를 사용해 지정하며, 어떤 순서로든 제공할 수 있습니다.
      Get-Process -Name "notepad" -Id 1234
      
  • 스위치 매개변수 는 Boolean 플래그처럼 동작하므로 값이 필요하지 않습니다: 스위치가 있으면 기능이 활성화되고, 없으면 비활성화됩니다.
      Remove-Item "C:\temp\file.txt" -Confirm
      
  • 필수 매개변수 는 반드시 제공해야 합니다. 하나라도 누락되면 PowerShell이 값을 입력하라고 요청합니다.
      Get-MyProcess -ProcessName "chrome"
      

초보자를 위한 필수 PowerShell 명령

시작을 위한 기본 명령

익혀두면 좋은 기본 PowerShell 명령 중 하나는 Get-Help입니다. 이 명령은 사용법을 익히고 싶은 cmdlet에 대한 정보를 표시합니다. 파라미터 -examples를 추가하면 예시도 함께 제공됩니다.

예를 들어, Get-ChildItem cmdlet에 대해 더 알아보려면 Get-Help Get-ChildItem 또는 Get-Help Get-ChildItem -examples 를 입력할 수 있습니다. 아래에 예시가 나와 있습니다.

Image

또 다른 유용한 cmdlet은 Get-Command입니다. 예를 들어, 를 입력하면 Get-Command *Service* 이름에 “Service”가 포함된 모든 명령을 나열합니다.

Image

파일 시스템 내용 표시

이 명령은 현재 디렉터리에 있는 항목을 표시합니다:

      Get-ChildItem
      

그리고 이 명령은 Office 디렉터리에 있는 항목을 표시합니다:

      Get-ChildItem D:\Office
      
Image

객체로 작업하기

다음 cmdlet은 로컬 컴퓨터에서 Notepad 애플리케이션 프로세스를 가져옵니다:

      Get-Process -Name "notepad"
      

그리고 이 명령은 RAM을 10% 이상 사용하는 프로세스를 가져옵니다:

      Get-Process | Where-Object {$_.CPU -gt 10}
      

아래 명령은 메모장(Notepad)의 각 인스턴스를 가져오고, 프로세스 ID로 해당 프로세스를 중지합니다.

      Get-Process | Where-Object { $_.Name -eq "notepad" } | ForEach-Object { Stop-Process -Id $_.Id }
      
Image

기본 시스템 정보 확인

아래 명령은 상태가 running 인 Windows 서비스를 가져옵니다:

      Get-Service | Where-Object { $_.Status -eq 'Running' }
      

이 명령은 처음 10개의 이벤트 로그를 가져옵니다:

      Get-EventLog -LogName System -Newest 10
      

그리고 이 명령은 “Wi-fi”라는 이름의 네트워크 어댑터에 대한 통계를 가져옵니다:

      Get-NetAdapterStatistics -Name "Wi-fi"
      
Image

파일 및 폴더 관리를 위한 PowerShell 명령

디렉터리 탐색: Set-Location Get-ChildItem

이 cmdlet은 PowerShell의 현재 위치를 D:\Office\Project로 설정합니다:

      Set-Location -Path "D:\Office\Project"
      

디렉터리의 내용을 가져오려면 다음 명령을 사용하세요:

      Get-ChildItem, dir, ls
      

다음의 Project 디렉터리에 있는 파일과 폴더를 표시하려면 이 코드를 사용하세요:

      Get-ChildItem "D:\Office\Project"dir  "D:\Office\Project"
      

이 명령은 Project 디렉터리에 있는 파일을 나열합니다.

      Get-ChildItem "D:\Office\Project" -file
      

이 명령은 Project 디렉터리에 있는 폴더를 나열합니다.

      dir  "D:\Office\Project" -directory
      
Image

파일 생성, 복사 및 삭제: New-Item, Copy-Item, Remove-Item

이 명령은 myfileProject 폴더에 텍스트 파일을 생성합니다:

      New-Item -Path "D:\Office \Project\myfile.txt" -ItemType File
      

이 명령은 myfile.txtProject 폴더에서 startup 폴더로 복사합니다:

      Copy-Item -Path "D:\Office \Project\myfile.txt" -Destination "D:\Office \Project\startup\myfile.txt"
      

이 명령은 myfile.txt 파일을 Project 폴더에서 삭제합니다:

      Remove-Item -Path "D:\Office \Project\myfile.txt"
      

아래 명령은 Project 폴더와 그 안의 모든 내용을 삭제합니다:

      Remove-Item -Path "D:\Office \Project" -Recurse
      

폴더 콘텐츠 확인 및 검색: Get-ChildItem, Select-String

이 명령은 형식이 .txt 인 모든 파일을 나열합니다:

      Get-ChildItem -Path "D:\Office\Project" -Filter "*.txt"
      

아래 명령은 모든 숨김 파일을 나열합니다:

      Get-ChildItem -Path "D:\Office\Project" -Hidden
      

이 명령은 파일 Projectlogs.txt에서 문자열 error를 검색합니다:

      Select-String -Path "D:\Office\Project\projectlogs.txt" -Pattern "error"
      
Image

시스템 및 프로세스 관리

시스템 서비스 관리: Get-Service, Start-Service, Stop-Service

이 명령은 이름에 문자열 SQL 가 포함된 모든 서비스를 가져옵니다:

      Get-Service -Name "*SQL*"
      
Image

이 명령은 문자열 Windows 로 시작하는 이름의 모든 서비스를 가져옵니다:

      Get-Service -DisplayName "Windows *"
      
Image

아래 cmdlet을 사용하여 자동으로 시작하도록 설정된 모든 서비스를 확인하세요:

      Get-Service | Where-Object {$_.StartType -eq "Automatic"}
      
Image

서비스의 표시 이름은 실제 서비스 이름과 다를 수 있습니다. 아래 명령어에 서비스 이름을 정확히 입력했는지 확인하세요.

서비스를 시작하려면 다음과 같은 명령을 사용하세요:

      Start-Service -Name "spooler"
      

서비스를 중지하려면 다음과 같은 명령을 사용하세요:

      Stop-Service -Name "autotimesvc"
      

프로세스 작업: Get-Process, Start-Process, Stop-Process

여기서와 같이 -Name 매개 변수를 사용해 프로세스를 가져올 수 있습니다:

      Get-Process -Name notepad
      

아래 명령은 프로세스를 가져온 다음 파이프하여, 이름, ID 및 CPU 사용량을 표로 표시한 결과를 얻습니다:

      Get-Process | Format-Table Name, Id, CPU -AutoSize
      
Image

이 cmdlet은 chrome.exe를 시작하고 지정된 사이트를 엽니다:

      Start-Process chrome.exe "https://www.google.com"
      
Image

메모장을 시작하는 방법은 다음과 같습니다:

      Start-Process -FilePath "notepad.exe"
      

다음 스크립트는 메모장을 시작한 뒤 5초 동안 기다렸다가 모든 메모장 프로세스를 중지합니다:

      Start-Process -FilePath "notepad.exe" -PassThruWrite-Host "Notepad started."Start-Sleep -Seconds 5write-host "waiting for 5 seconds"stop-process -name notepadWrite-host "Notepad stopped"
      
Image

단일 프로세스를 중지하려면 다음과 같은 명령을 사용합니다:

      Stop-Process -Name notepad
      

여러 프로세스를 중지하려면 여기에서처럼 나열합니다:

      Stop-Process -Name notepad, chrome
      

시스템 로그에 액세스하고 모니터링하기: Get-EventLogGet-WinEvent

이벤트 로그 항목을 가져오려면 이전 cmdlet Get-EventLog. 예를 들어, 애플리케이션 이벤트 로그에서 최신 10개의 오류 항목을 가져오는 방법은 다음과 같습니다:

      Get-EventLog -LogName Application -EntryType Error -newest 10
      
Image

또는 더 최신인 Get-WinEvent cmdlet을 사용할 수 있습니다. 애플리케이션 로그에서 가장 최근 10개 항목을 가져오는 방법은 다음과 같습니다:

      Get-WinEvent -LogName Application -MaxEvents 10
      
Image

데이터 및 콘텐츠 처리 명령

파일 읽기 및 쓰기: Get-Content, Set-Content, Out-File

프로젝트 폴더에 있는 myfile.txt 파일의 내용을 읽으려면 다음 명령을 사용하세요:

      Get-Content -Path "D:\Office\Project\myfile.txt"
      

처음 다섯 줄만 읽으려면 아래와 같이 명령을 변경하세요:

      Get-Content -Path "D:\Office\Project\myfile.txt" -TotalCount 5
      
Image

myfile.txt에 텍스트를 쓰려면 Set-Content cmdlet을 사용할 수 있습니다:

      Set-Content -Path "D:\Office\Project\myfile.txt"" -Value "Welcome to PowerShell blog"
      

또는 Add-Content 를 이렇게 사용할 수도 있습니다:

      Add-Content -Path "D:\Office\Project\myfile.txt" -Value "Are you new to PowerShell?"
      

Out-File cmdlet은 출력을 파일로 보냅니다. 서식이 지정된 출력을 위해 흔히 사용됩니다. 아래의 cmdlet은 Hello, World! 를 myfile.txt에 씁니다:

      "Hello, World!" | Out-File -FilePath "D:\Office\Project\myfile.txt "
      

초보자를 위한 Windows PowerShell 스크립팅 튜토리얼(PDF)

자세히 알아보기

데이터 내보내기 및 가져오기: Export-Csv, Import-Csv

이 명령은 지정한 매개변수에 대해 프로세스 notepad 의 정보를 가져온 다음 파일 processes.csv 에 내보냅니다:

      Get-Process -Name notepad | Select-Object Name, Id, CPU | Export-Csv -Path "D:\Office\Project\Processes.csv" -NoTypeInformation
      

CSV 파일을 가져오려면 Import-Csv. 이 명령은 방금 생성한 CVS 파일을 다른 cmdlet으로 가져오며, 이 cmdlet은 개체를 순회하면서 Id 열을 기준으로 프로세스를 가져옵니다:

      Import-Csv -Path "D:\Office\Project\Processes.csv" | ForEach-Object { Get-Process -Id $_.Id }
      
Image

데이터 형식 관리 및 변환: ConvertTo-Html, ConvertTo-Json

다음 명령은 실행 중인 두 개의 프로세스에 대한 정보를 가져와서 HTML 형식으로 변환합니다:

      Get-Process -Name "notepad" , "chrome" | Select-Object Name, Id, CPU | ConvertTo-Html -Property Name, Id, CPU -Title "Process Report" | Out-File "D:\Office\Project\ProcessReport.html"
      
Image

마찬가지로 다음 명령은 정보를 JSON 형식으로 내보냅니다:

      Get-Process -Name "notepad" , "chrome"  | Select-Object Name, Id, CPU, StartTime| ConvertTo-Json -Depth 2 | Out-File "D:\Office\Project\Processes.json"
      
Image

네트워크 및 원격 관리

연결 확인: Test-Connection, Resolve-DnsName

Test-Connection 명령은 정의된 원격 호스트에 ICMP 에코 요청(핑)을 전송하고, 해당 호스트에 도달 가능한지 확인합니다.

예를 들어, 이 명령은 인터넷을 통해 google.com 과의 연결을 시도합니다:

      Test-Connection -ComputerName google.com
      

그리고 이 명령은 이름으로 지정한 두 호스트와 IP 주소로 지정한 한 호스트에 대해 연결성을 확인합니다:

      Test-Connection -ComputerName "google.com" , "microsoft.com" , "192.168.0.1"
      

특정 TCP 포트를 확인하려면 -Port 매개변수를 사용하세요:

      Test-NetConnection -ComputerName google.com -Port 443
      
Image

이 명령은 컴퓨터의 이름 확인(이름 해석)을 테스트하여 특정 컴퓨터가 우리 네트워크에 존재하는지 확인합니다:

      Resolve-DnsName -Name DC1
      
Image

또는 장치의 IP 주소로 지정할 수도 있습니다:

      Resolve-DnsName -Name 192.168.0.108
      
Image

특정 유형의 레코드를 조회하려면 -Type 매개변수를 다음과 같은 값으로 추가합니다: A (주소), AAAA (IPv6), CNAME 또는 MX (메일 교환).

원격 세션 작업: Enter-PSSession, Exit-PSSession

호스트에서 PowerShell 원격 기능이 활성화되어 있는 경우, PowerShell을 사용하여 원격으로 호스트를 관리할 수 있습니다. 호스트에서 PowerShell 원격 기능을 활성화하려면 관리자 권한으로 다음 명령을 실행하십시오:

      Enable-PSRemoting -Force
      

원격 호스트에 연결하려면 다음 명령을 사용하세요:

      Enter-PSSession -ComputerName "DC1"
      

PowerShell을 권한 있는 사용자 컨텍스트에서 실행하고 있지 않으면, 원격 세션에 사용할 사용자 컨텍스트의 자격 증명을 입력하라는 메시지가 표시됩니다.

원격 PowerShell 세션을 설정한 후에는 해당 서버에서 보유한 권한에 따라 대상 호스트에서 명령과 스크립트를 실행할 수 있습니다. 예를 들어 Get-Process를 실행하면 원격 컴퓨터에서 정보를 가져옵니다:

Image

세션을 종료하려면 다음 명령을 사용하면 됩니다.

      Exit-PSSession.
      

원격 명령 관리: Invoke-Command, New-PSSession

원격 호스트에서 명령을 비대화형으로 실행하려면 Invoke-Command cmdlet을 사용합니다. 예를 들어 대상 호스트 DC1에서 메모장(Notepad) 프로세스를 가져오려면 다음 cmdlet을 실행하세요:

      Invoke-Command -ComputerName DC1 -ScriptBlock { Get-Process -Name Notpad }
      

반복 작업을 위해 지속(영구) 세션을 설정하려면 New-PSSession 을 사용합니다. 새 PS 세션을 설정하고 이를 변수에 저장하는 방법은 다음과 같습니다:

      $session = New-PSSession -ComputerName DC1
      

그런 다음 다음 명령을 실행하여 원격 PowerShell 세션에 들어갑니다:

      Enter-PSSession -Session $session
      

그 후에는 로컬 호스트에서 명령을 실행하는 것과 똑같이 대상 호스트에서 명령을 실행할 수 있습니다. 아래와 같습니다:

      Get-Process notepad
      
Image

보안 및 실행 정책

PowerShell 실행 정책: Get-ExecutionPolicy, Set-ExecutionPolicy

PowerShell 실행 정책은 승인되지 않았거나 악의적인 스크립트 실행을 방지하는 데 도움이 됩니다. 다양한 정책 유형과 범위가 있습니다.

실행 정책의 종류

  • 제한됨 — 스크립트 실행이 허용되지 않으며, 대화형 명령만 실행할 수 있습니다. 이는 Windows의 새 설치에 대한 기본값입니다.
  • 모두 서명됨 — 신뢰할 수 있는 게시자로 서명된 스크립트만 실행할 수 있습니다. 시스템은 스크립트의 게시자를 이전에 신뢰했더라도, 사용자에게 게시자를 확인하도록 요청합니다.
  • RemoteSigned — 로컬에서 생성한 스크립트는 서명 없이 실행할 수 있습니다. 인터넷에서 다운로드한 스크립트는 신뢰할 수 있는 게시자가 서명해야 합니다.
  • Unrestricted — 모든 스크립트는 제한 없이 실행할 수 있습니다. 인터넷에서 다운로드한 스크립트를 실행할 때 확인 프롬프트가 표시됩니다.
  • Bypass — 제한이나 경고가 없으며, 출처와 관계없이 모든 스크립트를 실행할 수 있습니다.
  • Undefined — 현재 범위에 실행 정책이 설정되어 있지 않습니다. 시스템은 더 넓은 범위(예: LocalMachine)에서 실행 정책을 상속받습니다.

실행 정책의 범위

  • CurrentUser — 현재 로그인한 사용자에게만 영향을 주며, 해당 사용자의 향후 세션에도 유지됩니다.
  • LocalMachine — 컴퓨터의 모든 사용자와 세션에 적용됩니다. 변경하려면 관리자 권한이 필요합니다.
  • Process — 현재 PowerShell 세션에만 영향을 미칩니다. 세션이 끝나면 유지되지 않습니다.

실행 정책 확인 및 수정

실제 적용되는 실행 정책을 확인하려면 다음 명령을 입력하세요:

      Get-ExecutionPolicy
      

실행 정책을 설정하려면 아래 명령을 사용하고 정책 이름을 지정합니다. 원하시면 -Scope 매개변수를 사용하여 범위를 지정할 수 있습니다.

      Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
      
Image

권한 및 역할 관리: Get-ACL, Set-ACL

액세스 제어 목록(ACL)은 파일, 폴더 및 기타 개체에 대해 사용자와 그룹의 권한을 제어합니다. 기본 ACL 권한은 읽기, 쓰기, 실행, 삭제, 수정입니다.

파일의 ACL을 가져오려면 Get-ACL cmdlet을 사용하고 파일의 경로를 지정합니다:

      Get-Acl -Path "D:\Office\Project\Processes.csv"
      
Image

한 파일의 ACL을 복사해 다른 파일에 적용하려면 다음 단계를 수행합니다:

  1. 원본 파일의 ACL을 가져와 변수에 저장합니다:
      $SourcefileACL = Get-Acl -Path "D:\Office\Project\Processes.csv"
      
  • 저장한 ACL을 원하는 파일에 설정합니다:
      Set-ACL -Path "D:\Office\Project\Processes1.json" -AclObject $SourceACL
      

ACL이 올바르게 설정되었는지 확인하려면 다음 명령을 사용하세요:

      Get-Acl -Path "D:\Office\Project\Processes1.json"
      
Image

인증서로 스크립트 보호: Set-AuthenticodeSignature, ConvertTo-SecureString

인증서 생성 및 적용

Set-AuthenticodeSignature cmdlet은 스크립트 또는 파일에 디지털 서명을 적용하는 데 사용됩니다. 이 서명은 스크립트가 신뢰할 수 있는 소스에서 생성되었으며 서명된 이후 수정되지 않았음을 사용자에게 보장합니다.

신뢰할 수 있는 인증 기관(CA)이 발급한 인증서를 사용할 수도 있고, 내부 용도로 자체 서명 인증서를 만들 수도 있습니다. 아래는 자체 서명 인증서를 생성하는 예시입니다:

      New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=MyCert" -CertStoreLocation Cert:\CurrentUser\My
      
Image

인증서 저장소에서 인증서를 찾고, 나중에 파일에 서명할 때 사용할 수 있도록 변수를 저장합니다:

      $cert = Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.Subject -like '*MyCert*' }
      

그런 다음 Set-AuthenticodeSignature 를 사용해 스크립트에 서명합니다:

      Set-AuthenticodeSignature -FilePath "C:\Temp\Script.ps1" -Certificate $cert
      

서명한 후 다음 명령을 사용해 서명을 확인합니다:

      Get-AuthenticodeSignature -FilePath "C:\Temp\Script.ps1"
      
Image

데이터를 보안 문자열로 변환

ConvertTo-SecureString 비밀번호 또는 민감한 데이터를 위한 보안 문자열을 생성하고 이를 파일에 저장합니다. 예를 들어, 다음 명령으로 일반 텍스트 비밀번호를 보안 문자열로 변환할 수 있습니다:

      $securePsw = ConvertTo-SecureString "MyPassword123" -AsPlainText -Force
      

그런 다음 이 cmdlet을 사용하여 보안 문자열을 파일에 저장할 수 있습니다:

      $securePsw | ConvertFrom-SecureString | Out-File "D:\Office\Project\EncryptedPassword.txt"
      

Windows 시스템 구성을 위한 PowerShell

시스템 정보 검색: Get-ComputerInfo, Get-Host, Get-WmiObject

Get-ComputerInfo

이 cmdlet은 컴퓨터의 하드웨어, 운영 체제 및 구성에 대한 자세한 정보를 검색합니다:

      Get-ComputerInfo
      
Image

출력을 특정 속성으로 제한하려면 다음과 같은 cmdlet을 사용하세요:

      Get-ComputerInfo | Select-Object CsName, WindowsVersion, WindowsBuildLabEx, OsArchitecture
      
Image

다음과 같이 -Property 매개 변수와 함께 와일드카드를 사용하면 정보를 검색할 수 있습니다:

      Get-ComputerInfo -Property "OS*"
      
Image

Get-Host

이 cmdlet은 현재 PowerShell 호스트 환경에 대한 정보를 제공하며, 디버깅 및 기타 용도에 유용합니다:

      Get-Host
      

특정 속성을 가져오려면 다음 중 하나와 같은 명령을 사용하세요:

      (Get-Host).Version(Get-Host).Name
      
Image

Get-WmiObject

Get-WmiObject 는 Windows Management Instrumentation(WMI) 개체를 쿼리하기 위한 강력한 cmdlet입니다. 다양한 시스템 구성 요소와 서비스에 대한 자세한 정보를 제공합니다.

이 cmdlet은 OS 정보를 검색합니다:

      Get-WmiObject -Class Win32_OperatingSystem
      
Image

그리고 이것은 BIOS 정보를 가져옵니다:

      Get-WmiObject -Class Win32_BIOS
      
Image

프로세서 정보를 가져오려면 다음 명령을 사용합니다:

      Get-WmiObject -Class Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeed
      
Image

PowerShell 사용자들을 위한 유용한 팁

Get-Help Get-Command 를 명령 참조용으로 사용

Get-Help 명령은 다른 명령의 구문을 확인하는 데 유용합니다:

      Get-Help Get-Process
      
Image

Get-Command는 PowerShell 명령, 함수, 별칭, 스크립트 및 모듈을 가져오는 데 사용할 수 있습니다. 명령/함수/별칭/스크립트/모듈의 유형, 이름, 버전, 소스 상세 정보를 표시합니다.

      Get-Command Get-Process
      
Image

부분 이름을 기준으로 명령을 탐색하려면 와일드카드(*)를 사용할 수 있습니다. 예를 들어, 이름에 Service가 포함된 모든 cmdlet과 함수를 확인하는 방법은 다음과 같습니다:

      Get-Command *Service*
      
Image

을 사용해 개체의 속성을 탐색하기: Get-Member

Get-Member 명령은 속성과 메서드를 살펴봄으로써 개체의 구조와 기능을 이해하는 데 주로 사용됩니다. 예를 들어, 다음 명령은 Get-Date 명령의 모든 속성을 나열합니다:

      Get-Date | Get-Member -MemberType property
      
Image

효율을 위한 사용자 지정 별칭과 함수 만들기

PowerShell을 더 쉽게 사용하고 자주 수행하는 작업을 자동화할 수 있도록 새 별칭과 함수를 만들 수 있습니다. 예를 들어, 다음 명령은 pGet-process 명령에 대한 별칭으로 생성합니다:

      New-Alias -Name p -Value Get-Process
      
Image

함수를 사용하면 여러 명령을 재사용 가능한 블록으로 묶을 수 있습니다. 아래 스크립트는 디렉터리 안의 파일을 나열하고 개수를 세기 위한 간단한 함수를 생성합니다:

      function ListAndCountFiles {    param (        [string]$directory    )    Get-ChildItem -Path $directory    $fileCount = (Get-ChildItem -Path $directory).Count    Write-Host "Total files in $($directory): $fileCount"}
      

나중에 이 함수를 사용하려면, 다음 명령을 간단히 사용하면 됩니다:

      ListAndCountFiles -directory "C:\Temp"
      
Image

결론

PowerShell 전문성을 얻으려면 직접적인 실습이 필수입니다. 시작하려면 Get-Help 를 사용해 다른 cmdlet에 대한 자세한 정보를 확인하고, Get-ChildItemSet-Location, 를 사용하여 파일 시스템을 탐색한 다음, Get-ComputerInfo, Get-HostGet-WmiObject 를 사용해 시스템 정보를 가져오세요. 그런 다음 데이터 조작, 스크립트 서명, 서비스 시작 및 중지, 개체 관리와 같은 더 고급 작업으로 넘어가면 됩니다. 호스트를 원격으로 관리해야 한다면 원격 실행 정책과 세션에 관한 자료도 반드시 검토하세요.

이 블로그를 다운로드하거나 북마크해 두어 PowerShell을 효과적으로 사용하기 위해 필요한 cmdlet을 빠르게 확인하세요.

Netwrix Directory Manager

자주 묻는 질문

PowerShell 명령은 몇 개가 있나요?

사용할 수 있는 PowerShell 명령의 개수는 PowerShell의 버전과 설치한 모듈에 따라 달라집니다. 명령의 전체 개수를 확인하려면 다음 명령을 사용하세요:

      Get-Command | Measure-Object
      

PowerShell에서 사용되는 명령은 무엇인가요?

PowerShell 명령은 데이터 처리, 파일 및 폴더 관리, 시스템 관리 등 다양한 기능을 제공합니다. 중요한 명령으로는 Get-Help, Get-ChildItem, Set-Location, Get-ProcessExport-Csv.

PowerShell 명령 목록은 어떻게 확인하나요?

사용 가능한 모든 명령을 보려면 다음 cmdlet을 실행하세요:

      Get-Command
      

PowerShell로 무엇을 멋지게 할 수 있나요?

PowerShell을 사용하면 사용자가 반복 작업을 자동화하고, 원격으로 서버를 관리하며, 웹 서비스와 API를 활용하고, 시스템 리소스를 분석하고, 클라우드 리소스를 관리할 수 있습니다.

Windows PowerShell을 어떻게 사용하나요?

Windows 시작 메뉴에서 PowerShell을 실행하려면 단순히 다음 명령을 입력하면 됩니다: PowerShell.

PowerShell과 기본 명령이란 무엇인가요?

PowerShell은 명령줄 셸이자 스크립팅 언어입니다. 몇 가지 기본 명령에는 다음이 포함됩니다:

  • Get-Help
  • Get-Service
  • Set-location
  • New-Item

초보자를 위한 PowerShell이란 무엇인가요?

PowerShell은 초보자에게도 재미있을 수 있습니다. 동사-명사 구조라 사용하기 쉽습니다. 꾸준한 노력과 이 블로그 같은 도구가 있다면, 기본 작업을 빠르게 익혀 몇 주 안에 중급 또는 고급 실무자가 될 수 있습니다.

공유하기

더 알아보기

저자 소개

Asset Not Found

Jonathan Blackwell

소프트웨어 개발 책임자

2012년부터 엔지니어이자 혁신가인 Jonathan Blackwell은 엔지니어링 리더십을 제공해 Netwrix GroupID를 Active Directory 및 Azure AD 환경에서 그룹 및 사용자 관리 분야의 최전선에 올려놓았습니다. 개발, 마케팅, 영업에서의 그의 경험을 통해 Jonathan은 Identity 시장과 구매자가 생각하는 방식까지 완전히 이해할 수 있습니다.