모든 도구
무료

검색하고 인쇄할 수 있는 PowerShell 참조 자료——cmdlet, 파이프라인, 변수, 파일, 반복문, 함수, 객체, 관리 작업. 무료.

도움말 및 탐색

12
Get-Help Get-Process
cmdlet 도움말 표시
Get-Help Get-Process -Examples
cmdlet 사용 예제 표시
Get-Help Get-Process -Full
매개변수 포함 전체 도움말 표시
Get-Help about_Functions
개념적 about_ 항목 읽기
Update-Help
최신 도움말 파일 다운로드
Get-Command -Noun Process
명사에 작용하는 cmdlet 나열
Get-Command -Verb Get
지정 동사를 쓰는 cmdlet 나열
Get-Command *service*
와일드카드 이름으로 명령 검색
Get-Process | Get-Member
객체의 속성과 메서드 나열
Get-Alias ls
별칭이 가리키는 명령 표시
Get-Alias -Definition Get-ChildItem
cmdlet의 모든 별칭 나열
$PSVersionTable
PowerShell 버전 및 에디션 표시

변수와 타입

13
$x = 5
변수에 값 할당
[int]$n = '42'
강타입 변수 선언
$null
null / 빈 값
$true; $false
불리언 리터럴
$arr = @(1, 2, 3)
배열 생성
$arr += 4
배열에 요소 추가
$arr[0]; $arr[-1]
배열의 첫/마지막 요소 인덱싱
$hash = @{ Name = 'Ann'; Age = 30 }
해시테이블 생성
$hash['Name']; $hash.Name
키로 해시테이블 값 읽기
$env:PATH
환경 변수 읽기
$env:MY_VAR = 'value'
세션용 환경 변수 설정
Get-Variable
정의된 모든 변수 나열
[math]::Round(3.14159, 2)
정적 .NET 메서드 호출

파이프라인 및 필터링

12
Get-Process | Where-Object { $_.CPU -gt 10 }
조건으로 객체 필터
Get-Process | ? CPU -gt 10
? 별칭과 단순화 구문으로 필터
Get-Process | ForEach-Object { $_.Name }
각 객체에 스크립트 블록 실행
Get-Process | % { $_.Kill() }
% 별칭으로 순회
Get-Process | Select-Object Name, Id
특정 속성만 유지
Get-Process | Select-Object -First 5
첫 N개 객체 가져오기
Get-Process | Sort-Object CPU -Descending
속성으로 객체 정렬
Get-Process | Group-Object Company
속성으로 객체 그룹화
Get-Process | Measure-Object CPU -Sum
숫자 값 집계 (합계, 평균)
Get-ChildItem | Select-Object -Unique
고유 객체 반환
1..5 | ForEach-Object { $_ * 2 }
범위를 변환을 거쳐 파이프
Get-Process | Out-GridView
결과를 대화식 그리드로 전송

파일 및 경로

13
Get-ChildItem -Path C:\Logs
디렉터리 항목 나열 (별칭 ls/dir)
Get-ChildItem -Recurse -Filter *.log
매치 파일을 재귀적으로 나열
Get-Content .\file.txt
파일을 한 줄씩 읽기
Get-Content .\file.txt -Tail 20
파일의 마지막 N줄 읽기
Set-Content .\file.txt -Value 'Hi'
파일에 텍스트 쓰기 (덮어쓰기)
Add-Content .\file.txt -Value 'Hi'
파일에 텍스트 추가
Copy-Item a.txt b.txt
파일 또는 디렉터리 복사
Move-Item a.txt .\dir\
항목 이동 또는 이름 변경
Remove-Item a.txt -Force
파일 또는 디렉터리 삭제
New-Item -ItemType Directory -Path .\dir
새 파일 또는 디렉터리 생성
Test-Path .\file.txt
경로 존재 여부 확인
Get-Location
현재 디렉터리 표시 (별칭 pwd)
Set-Location C:\Temp
현재 디렉터리 변경 (별칭 cd)

문자열 및 텍스트

12
'Hello World' -match 'World'
정규식으로 문자열 검사
'Hello' -replace 'l', 'L'
정규식으로 텍스트 치환
'a,b,c' -split ','
정규식으로 문자열을 배열로 분할
'a-b-c'.Split('-')
.NET String 메서드로 분할
'a', 'b' -join ', '
배열 요소를 문자열로 결합
Select-String -Path *.log -Pattern 'error'
파일 전반에 grep 방식 검색
'{0} of {1}' -f 3, 10
플레이스홀더로 문자열 형식화
' hi '.Trim()
선행 및 후행 공백 제거
'Hello'.ToUpper()
문자열을 대문자로 변환
'Hello'.Substring(0, 3)
인덱스와 길이로 부분 문자열 추출
'Hello'.Contains('ell')
문자열에 텍스트 포함 여부 검사
'Hello'.Length
문자 수 가져오기

반복 및 조건

12
if ($x -gt 0) { 'pos' } elseif ($x -eq 0) { 'zero' } else { 'neg' }
if / elseif / else로 분기
switch ($x) { 1 { 'one' } default { 'other' } }
값을 케이스와 매치
foreach ($i in $arr) { $i }
컬렉션 순회
for ($i = 0; $i -lt 5; $i++) { $i }
인덱스가 있는 카운트 반복
while ($x -lt 10) { $x++ }
조건이 참인 동안 반복
do { $x++ } while ($x -lt 10)
최소 한 번 반복 후 조건 검사
$x -eq 5; $x -ne 5
같음 및 같지 않음 비교
$x -gt 5; $x -lt 5
크다 및 작다 비교
$x -ge 5; $x -le 5
크거나/작거나 같음 비교
'abc' -like 'a*'
와일드카드 매치 비교
@(1, 2, 3) -contains 2
배열 멤버십 검사
break; continue
현재 반복 종료 또는 건너뛰기

함수 및 스크립트

12
function Get-Sum { param($a, $b) $a + $b }
매개변수가 있는 함수 정의
Get-Sum -a 2 -b 3
명명 인수로 함수 호출
function Test { param([int]$n = 1) }
기본값이 있는 타입 매개변수
param([Parameter(Mandatory)]$Name)
매개변수 필수 지정
return $value
함수에서 값 반환
function F { [CmdletBinding()] param() }
고급 함수 작성 (공통 매개변수)
Write-Verbose 'msg' -Verbose
상세 메시지 스트림 발생
Write-Output $result
객체를 파이프라인으로 전송
Write-Error 'failed'
오류 스트림에 쓰기
.\script.ps1 -Arg value
인수와 함께 스크립트 파일 실행
. .\functions.ps1
스크립트를 세션에 dot-source
try { } catch { $_ } finally { }
종료 오류 처리

객체 및 속성

12
Get-Process | Select-Object -ExpandProperty Name
객체가 아닌 원시 속성 값 반환
(Get-Process).Name
각 객체의 속성 접근
Get-Process | Select-Object Name, @{ Name = 'MB'; Expression = { $_.WS / 1MB } }
계산된 속성 추가
[PSCustomObject]@{ Name = 'Ann'; Age = 30 }
사용자 정의 객체 생성
$obj | Add-Member -NotePropertyName Tag -NotePropertyValue 'x'
객체에 속성 추가
$obj.PSObject.Properties.Name
객체의 속성 이름 나열
$obj | Format-Table -AutoSize
객체를 정렬된 표로 표시
$obj | Format-List *
모든 속성을 리스트로 표시
$obj | ConvertTo-Json -Depth 5
객체를 JSON으로 직렬화
Get-Content data.json | ConvertFrom-Json
JSON을 객체로 파싱
$obj | Export-Csv out.csv -NoTypeInformation
객체를 CSV 파일로 내보내기
Import-Csv data.csv
CSV 파일을 객체로 읽기

프로세스 및 서비스

12
Get-Process
실행 중인 프로세스 나열 (별칭 ps)
Get-Process -Name chrome
이름으로 프로세스 가져오기
Stop-Process -Name notepad -Force
프로세스 종료
Start-Process notepad.exe
새 프로세스 실행
Get-Service
Windows 서비스 나열
Get-Service -Name wuauserv
이름으로 서비스 가져오기
Start-Service -Name wuauserv
중지된 서비스 시작
Stop-Service -Name wuauserv
실행 중인 서비스 중지
Restart-Service -Name wuauserv
서비스 재시작
Set-Service -Name wuauserv -StartupType Manual
서비스 시작 모드 변경
Get-EventLog -LogName System -Newest 20
최근 클래식 이벤트 로그 항목 읽기
Get-WinEvent -LogName Application -MaxEvents 20
최신 이벤트 로그 조회

원격 및 작업

12
Enter-PSSession -ComputerName Srv01
대화식 원격 세션 시작
Exit-PSSession
대화식 원격 세션 종료
Invoke-Command -ComputerName Srv01 -ScriptBlock { Get-Service }
원격 호스트에서 명령 실행
$s = New-PSSession -ComputerName Srv01
영구 원격 세션 생성
Invoke-Command -Session $s -ScriptBlock { hostname }
기존 원격 세션 재사용
Remove-PSSession $s
원격 세션 닫기 및 제거
Start-Job -ScriptBlock { Get-Process }
명령을 백그라운드 작업으로 실행
Get-Job
백그라운드 작업 및 상태 나열
Receive-Job -Id 1 -Keep
작업의 출력 가져오기
Wait-Job -Id 1
작업 완료까지 대기
Stop-Job -Id 1; Remove-Job -Id 1
백그라운드 작업 중지 및 제거
Get-Process | Start-ThreadJob { $input }
경량 인프로세스 스레드 작업 실행

모듈 및 패키지

12
Get-Module
현재 로드된 모듈 나열
Get-Module -ListAvailable
설치된 모든 모듈 나열
Import-Module Pester
세션에 모듈 로드
Remove-Module Pester
세션에서 모듈 언로드
Find-Module -Name PSReadLine
갤러리에서 모듈 검색
Install-Module PSReadLine -Scope CurrentUser
갤러리에서 모듈 설치
Update-Module PSReadLine
설치된 모듈 업데이트
Uninstall-Module PSReadLine
설치된 모듈 제거
Get-ExecutionPolicy
현재 스크립트 실행 정책 표시
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
서명 및 로컬 스크립트 실행 허용
Get-PSRepository
구성된 패키지 저장소 나열
$PROFILE
현재 사용자 프로필 스크립트 경로

“:q”와 일치하는 항목이 없습니다.


도움이 필요하신가요?
이 도구에서 문제를 발견하셨나요? 저희 팀에 알려주세요.
문제 신고

이 무료 도구를 귀하의 웹사이트에 추가하세요 — 아래 코드를 복사하여 붙여넣으세요.