PowerShell コマンドチートシート
PowerShell コマンドレットを素早く参照:探索、ファイル / システム、パイプラインのフィルタと選択、ネットワーク、リモート セッション、モジュール — よく使うパラメータと実用例をまとめました。
34 コマンド
探索 / ヘルプ
Get-Command [<name>]コマンドレットを名前 / エイリアス / ワイルドカードで検索 — PowerShell の man に相当。
-Module <module>; -Noun / -Verb; -ParameterType; -All
Get-Command -Noun Service | Format-Table Name, ModuleGet-Help <cmdlet> [-Examples|-Detailed|-Full]コマンドレットのヘルプを表示:概要、構文、パラメータ、例。
-Examples; -Detailed; -Full; -Online ブラウザ表示; -ShowWindow GUI
Get-Help Get-Process -ExamplesGet-Module [-ListAvailable]セッションにロードされたモジュール(またはインポート可能なモジュール)を表示。
-ListAvailable; -All; -Name フィルタ
Get-Module -ListAvailable | Sort-Object Name移動 / FS
Set-Location / Get-Location / pwd現在の作業ディレクトリを変更 / 表示します。
Set-Location C:\projects\app; Get-LocationGet-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 10New-Item -ItemType File/Directory <path>新しいファイル / ディレクトリを作成(既定はファイル)。
-Force 上書き / 親作成; -ItemType File|Directory|SymbolicLink; -Value 内容
New-Item -ItemType Directory -Path logs/2026 | Out-NullRemove-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 -WaitTest-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-TableForEach-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 5Group-Object (alias group)オブジェクトをプロパティ値でグループ化;`-NoElement` で件数のみ取得。
-Property; -NoElement; -CaseSensitive
Get-Content app.log | Group-Object | Sort-Object Count -DescendingMeasure-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)}} -AutoSizeOut-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:\$falseSet-Variable (alias set/sv)セッション / 環境変数を定義します。
-Name; -Value; -Scope Global|Local|Script; -PassThru
Set-Variable -Name regions -Value @('eastus','westus') -Scope GlobalGet-Variable / $env:変数の一覧 / 読み取り;プロセス環境は $env: ドライブで読み書き。
$env:DATABASE_URL = 'postgres://localhost/dev'; Get-Variable | Out-GridViewGet-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 5Get-Service / Start-Service / Stop-ServiceWindows サービスを確認 / 起動 / 停止します。
-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 443Invoke-WebRequest / Invoke-RestMethodHTTP クライアント(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_urlResolve-DnsName / Get-NetIPAddressDNS レコードの解決とローカル 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.ps1Import-Module / Find-Module / Install-Moduleモジュールをセッションへ読み込み、リポジトリから取得します。
-Force 再読込; -Scope Global/CurrentUser; -AcceptLicense; -AllowClobber
Install-Module -Name Az -Scope CurrentUser -AcceptLicenseGet-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_OperatingSystemCIM / 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+ に対応