すべてのチートシート

PowerShell コマンドチートシート

PowerShell コマンドレットを素早く参照:探索、ファイル / システム、パイプラインのフィルタと選択、ネットワーク、リモート セッション、モジュール — よく使うパラメータと実用例をまとめました。

34 コマンド

探索 / ヘルプ

Get-Command [<name>]

コマンドレットを名前 / エイリアス / ワイルドカードで検索 — PowerShell の man に相当。

-Module <module>; -Noun / -Verb; -ParameterType; -All

Get-Command -Noun Service | Format-Table Name, Module
Get-Help <cmdlet> [-Examples|-Detailed|-Full]

コマンドレットのヘルプを表示:概要、構文、パラメータ、例。

-Examples; -Detailed; -Full; -Online ブラウザ表示; -ShowWindow GUI

Get-Help Get-Process -Examples
Get-Module [-ListAvailable]

セッションにロードされたモジュール(またはインポート可能なモジュール)を表示。

-ListAvailable; -All; -Name フィルタ

Get-Module -ListAvailable | Sort-Object Name

移動 / FS

Set-Location / Get-Location / pwd

現在の作業ディレクトリを変更 / 表示します。

Set-Location C:\projects\app; Get-Location
Get-ChildItem (alias ls/dir)

ファイル / サブディレクトリを一覧(再帰は -Recurse で)。

-Recurse; -Force 隠し; -Filter <pattern>; -File / -Directory; -Depth

Get-ChildItem -Recurse -File -Filter *.log | Sort-Object Length -Descending | Select-Object -First 10
New-Item -ItemType File/Directory <path>

新しいファイル / ディレクトリを作成(既定はファイル)。

-Force 上書き / 親作成; -ItemType File|Directory|SymbolicLink; -Value 内容

New-Item -ItemType Directory -Path logs/2026 | Out-Null
Remove-Item (alias rm/del)

ファイル、ディレクトリ、レジストリ キー、変数を削除します。

-Recurse; -Force; -Confirm:\$false プロンプト無効

Remove-Item -Recurse -Force build/, node_modules/
Copy-Item / Move-Item / Rename-Item

ファイル システム アイテムをコピー / 移動 / リネームします。

-Recurse; -Force; -To; -Exclude / -Include フィルタ

Copy-Item -Recurse dist\* \\deploy\shares\app\
Get-Content / Set-Content / Add-Content

ファイル内容の読み書き(Get-Content の -Tail は Unix の tail 風)。

-Tail N; -Wait フォロー; -TotalCount N; -Encoding utf8/ASCII

Get-Content -Path app.log -Tail 50 -Wait
Test-Path / Resolve-Path

パス(ファイル、ディレクトリ、レジストリ)の存在確認、ワイルドカードの解決。

-PathType Container|Leaf; -IsValid

if (Test-Path .\node_modules) { Remove-Item -Recurse .\node_modules }

パイプライン / オブジェクト

Where-Object (alias ?)

パイプラインのオブジェクトをプロパティ / スクリプト ブロックで絞り込み。

-Property / -Value パターン一致; -Like / -EQ / -GT ...; -CContains / -In

Get-Process | Where-Object { $_.WorkingSet64 -gt 200MB }
Select-Object (alias select)

プロパティ選択、重複排除、先頭 N 件への展開。

-Property names; -First / -Last N; -Skip N; -Unique; -ExpandProperty

Get-Service | Select-Object Name, Status, StartType | Format-Table
ForEach-Object (alias %)

パイプラインを通過する各オブジェクトに対して処理を実行。

-Begin / -Process / -End; PS7+ で -Parallel

Get-ChildItem *.csv | ForEach-Object { Import-Csv $_ | Group-Object Level }
Sort-Object (alias sort)

パイプラインのオブジェクトを 1 つ以上のプロパティでソート。

-Property; -Descending

Get-ChildItem | Sort-Object -Property Length -Descending | Select -First 5
Group-Object (alias group)

オブジェクトをプロパティ値でグループ化;`-NoElement` で件数のみ取得。

-Property; -NoElement; -CaseSensitive

Get-Content app.log | Group-Object | Sort-Object Count -Descending
Measure-Object (alias measure)

プロパティの数値統計(count / sum / min / max / avg)を計算。

-Sum / -Average / -Minimum / -Maximum; テキスト向け -Line / -Word / -Character

Get-ChildItem -File -Recurse | Measure-Object -Property Length -Sum

書式設定

Format-Table / Format-List (ft / fl)

パイプライン オブジェクトを表またはリストとして整形 — 表示専用。

-AutoSize; -Wrap; -GroupBy; -Property サブセット

Get-Process | Format-Table Name, Id, @{n='Mem(MB)';e={[Math]::Round($_.WorkingSet64/1MB,1)}} -AutoSize
Out-File / Set-Content / Tee-Object

ファイルへ書き出し;Tee-Object はファイルとパイプライン両方に書き出し。

Get-Service | Tee-Object -FilePath services.txt | Where-Object { $_.Status -eq 'Running' }

文字列 / 変数

Select-String (alias sls)

grep 相当 — パターンに一致する行を検索(正規表現対応)。

-Path; -Pattern; -SimpleMatch; -CaseSensitive; -Context N

Select-String -Path src\**\*.ts -Pattern 'TODO' -CaseSensitive:\$false
Set-Variable (alias set/sv)

セッション / 環境変数を定義します。

-Name; -Value; -Scope Global|Local|Script; -PassThru

Set-Variable -Name regions -Value @('eastus','westus') -Scope Global
Get-Variable / $env:

変数の一覧 / 読み取り;プロセス環境は $env: ドライブで読み書き。

$env:DATABASE_URL = 'postgres://localhost/dev'; Get-Variable | Out-GridView
Get-Alias / Set-Alias

コマンドレットのカスタム ショートカットを一覧 / 定義。

Set-Alias -Name grep -Value Select-String -Option ReadOnly -Scope Global

プロセス / サービス

Get-Process / Start-Process / Stop-Process

ローカル プロセスを確認 / 起動 / 停止(Stop-Process は kill 相当)。

-Name; -Id; -FileVersionInfo; -PassThru; kill では -Force

Get-Process node | Sort-Object -Property WorkingSet64 -Descending | Select -First 5
Get-Service / Start-Service / Stop-Service

Windows サービスを確認 / 起動 / 停止します。

-Name; -DisplayName; -Status Running|Stopped

Get-Service | Where-Object Status -eq Stopped | Format-Table Name, StartupType

ネットワーク

Test-NetConnection <host>

TCP 接続性、レイテンシ、(-Port 指定で)到達性を診断。

-Port; -InformationLevel Detailed; -DiagnoseRouting

Test-NetConnection api.example.com -Port 443
Invoke-WebRequest / Invoke-RestMethod

HTTP クライアント(RestMethod は JSON をそのままオブジェクトに解析)。

-Method GET/POST/PUT/DELETE; -Headers @{...}; -Body (json); -OutFile path; -SkipHttpRedirect; -UseBasicParsing

Invoke-RestMethod -Uri https://api.github.com/repos/powershell/powershell/releases/latest | Select-Object tag_name, html_url
Resolve-DnsName / Get-NetIPAddress

DNS レコードの解決とローカル IP 構成の表示。

-Type A/AAAA/MX/CNAME; -Server 8.8.8.8; -AddressFamily IPv4/IPv6

Resolve-DnsName example.com -Type MX

リモート / モジュール

Enter-PSSession / Invoke-Command

リモート マシンでセッション開始 / コマンド実行(WinRM / SSH)。

-ComputerName / -HostName; -Credential; -ConfigurationName; -FilePath

Invoke-Command -ComputerName web01,web02 -FilePath .\deploy.ps1
Import-Module / Find-Module / Install-Module

モジュールをセッションへ読み込み、リポジトリから取得します。

-Force 再読込; -Scope Global/CurrentUser; -AcceptLicense; -AllowClobber

Install-Module -Name Az -Scope CurrentUser -AcceptLicense
Get-Module / Remove-Module

ロード済みモジュールを一覧表示、セッションからアンロード。

Get-Module | Format-Table Name, Version, ExportedCommands.Count

システム

Get-Date / Set-Date

現在の日付 / 時刻をリッチ書式で読み取り、設定します。

-Format; -UFormat; -DisplayHint; -Culture

Get-Date -Format 'yyyy-MM-dd HH:mm:ss'
Get-CimInstance Win32_OperatingSystem

CIM / WMI 経由でハード / システム情報(メモリ、ディスク、OS、BIOS など)を取得。

-ClassName; -ComputerName; -Filter クエリ

Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'" | Select DeviceID, @{n='FreeGB';e={[Math]::Round($_.FreeSpace/1GB,2)}}
Get-History / Invoke-History (alias h/r)

現在のセッションで最近実行したコマンドを再実行します。

-Count N; -Id N で特定エントリを再実行

Get-History | Where-Object CommandLine -like 'Get-*' | Invoke-History
$PROFILE / Update-Help

プロファイル(起動スクリプト)を編集し、コマンドレット ヘルプを更新。

notepad $PROFILE; Update-Help -Force

チートシート バージョン 1.0.0

PowerShell 7+ に対応