※本ページにはプロモーション(広告)が含まれています
【2026年最新版】Windows PowerShellの基本コマンドおよび活用方法【完全ガイド】
Windows 10以降、コマンドプロンプト(cmd)に代わってシステム管理ツールの主役になったのがPowerShellです。「黒い画面のコマンドラインなんて自分には関係ない」と思っているWindowsユーザーも多いかもしれませんが、実はファイル一括処理、システム情報取得、ネットワーク診断など、GUI操作で何分もかかる作業を1行のコマンドで終わらせられる強力なツールです。
この記事では、PowerShellを初めて触る方に向けて、起動方法から基本コマンド、コマンドプロンプトとの違い、簡単なスクリプト作成、実行ポリシーの設定まで、わかりやすく解説します。読み終わるころには、最低限の操作が自分でできるようになり、日々のWindows作業効率が一段上がるはずです。

この記事でわかること
- PowerShellの基本的な仕組みおよびcmdとの違い
- 通常モードおよび管理者モードでの起動方法
- 初心者がまず覚えるべき基本コマンド10選
- パイプライン機能を使ったコマンドの組み合わせ方
- 簡単なps1スクリプトの作成および実行方法
- 実行ポリシーの設定変更手順
- 初心者がよく遭遇するトラブルおよび対処法
PowerShellとは
PowerShellは、Microsoftが開発したコマンドラインシェルおよびスクリプト言語のセットです。従来のWindowsコマンドプロンプト(cmd)を発展的に置き換えるもので、.NET Frameworkをベースに動作するため、テキストベースのcmdとは異なり、コマンドの結果を「オブジェクト」として扱える点が最大の特徴です。これによりファイル名・サイズ・更新日時などのプロパティをそのまま次のコマンドに渡せ、複雑な処理を簡潔に書けます。
2026年現在、Windows 11標準搭載のPowerShellは「Windows PowerShell 5.1」ですが、Microsoft Storeから「PowerShell 7(クロスプラットフォーム版)」もインストール可能です。本記事は標準搭載の5.1を前提に解説しますが、コマンドの大半は7でも共通で動作します。
cmdおよびPowerShellの違い
| 項目 | cmd(コマンドプロンプト) | PowerShell |
|---|---|---|
| 登場時期 | Windows NT(1993)以降 | 2006年初版・現在も進化中 |
| 扱うデータ | テキスト文字列のみ | .NETオブジェクト |
| コマンド形式 | 短い英字略号(dir, cd等) | 動詞-名詞形式(Get-ChildItem等) |
| スクリプト | .bat / .cmd | .ps1 |
| パイプライン | テキスト中継のみ | オブジェクトを継承 |
| エイリアス | なし | cd→Set-Location 等 |
| ヘルプ機能 | /?表示のみ | Get-Helpで詳細解説 |
PowerShellを起動する
PowerShellの起動方法はいくつかありますが、初心者の方は以下の3パターンを覚えておけば困りません。
方法1:スタートメニューから起動
- 画面左下のスタートボタンをクリックします。
- 検索窓に「powershell」または「PowerShell」と入力します。
- 表示された候補から「Windows PowerShell」を選び、左クリックで起動します。
方法2:管理者権限で起動
システム設定の変更、サービス制御、ファイル権限の操作などには管理者権限が必須です。
- スタートメニューで「powershell」を検索後、検索結果に表示されたPowerShellを右クリックします。
- 「管理者として実行」を選びます。
- UAC(ユーザーアカウント制御)ダイアログが表示されるので「はい」をクリックします。
- ウィンドウタイトルバーに「管理者: Windows PowerShell」と表示されれば成功です。
方法3:Windowsターミナル経由で起動
Windows 11ではWindowsターミナルが標準アプリとなっており、複数のシェル(PowerShell、cmd、WSL等)をタブで管理できます。スタート → 「ターミナル」で起動 → タブ追加メニューから「Windows PowerShell」を選択します。
初心者がまず覚えるべき基本コマンド10選
PowerShellのコマンドは「動詞-名詞」形式(例:Get-ChildItem)が基本ですが、cmd時代から馴染みのあるエイリアス(dir、cd等)も多くが利用できます。

1. Get-ChildItem (エイリアス: dir, ls, gci)
現在のフォルダ内のファイル・フォルダを一覧表示します。cmdのdirとほぼ同じですが、結果がオブジェクトのため後続処理が容易です。
Get-ChildItem dir ls C:\Users gci -Recurse *.txt
2. Set-Location (エイリアス: cd, sl)
カレントディレクトリ(現在地)を変更します。
cd C:\Windows Set-Location $HOME cd .. # 一つ上の階層へ
3. Copy-Item (エイリアス: cp, copy)
ファイル・フォルダをコピーします。
Copy-Item C:\Test\a.txt C:\Backup\ cp -Recurse C:\Project D:\Backup\Project
4. Move-Item (エイリアス: mv, move)
ファイル・フォルダの移動・名前変更を行います。
Move-Item C:\old.txt C:\new.txt mv C:\Temp\* C:\Archive\
5. Remove-Item (エイリアス: rm, del, rmdir)
ファイル・フォルダを削除します。誤実行に注意。
Remove-Item C:\Temp\*.log rm -Recurse C:\OldFolder
6. Get-Content (エイリアス: cat, type, gc)
テキストファイルの中身を表示します。
Get-Content C:\log.txt cat README.md gc -Tail 20 access.log # 末尾20行
7. Select-String
テキスト内を検索する強力なコマンド。grepの代わりに使えます。
Select-String -Path *.txt -Pattern "Error" Get-Content log.txt | Select-String "WARN"
8. Get-Process (エイリアス: ps, gps)
実行中のプロセス一覧を取得します。
Get-Process
ps | Where-Object { $_.CPU -gt 100 }
9. Stop-Process (エイリアス: kill, spps)
プロセスを終了します(管理者権限推奨)。
Stop-Process -Name notepad kill -Id 1234
10. Get-Help
コマンドの使い方およびオプションを調べる必須コマンドです。
Get-Help Copy-Item Get-Help Get-Process -Examples Get-Help * -Category Cmdlet | Out-GridView
パイプラインで複数コマンドを連結する
PowerShellの真骨頂は「パイプライン(|)」によるコマンド連結です。前のコマンドの出力(オブジェクト)を次のコマンドに渡せます。
例1:ファイル名で並べ替えて先頭5件を表示
Get-ChildItem C:\Logs | Sort-Object Length -Descending | Select-Object -First 5
例2:特定プロセスをCPU使用率順に表示
Get-Process | Where-Object { $_.CPU -gt 0 } | Sort-Object CPU -Descending | Format-Table -AutoSize
例3:CSVに書き出し
Get-Process | Select-Object Name, Id, CPU | Export-Csv -Path proc.csv -NoTypeInformation -Encoding UTF8
このように「取得 → フィルター → 並べ替え → 出力」の組み合わせで、Excelで何時間もかかる集計が一瞬で終わります。
簡単なPowerShellスクリプトを作る
同じコマンド群を毎回手で打つのは非効率なので、テキストファイル(.ps1)に保存して実行する方法を紹介します。
スクリプトの作成手順
- メモ帳を開きます。
- 以下の内容を入力します:
# ログフォルダの古いファイルを削除するスクリプト $folder = "C:\Logs" $days = 30 Get-ChildItem $folder -Filter *.log | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$days) } | Remove-Item -Verbose - 「ファイル」→「名前を付けて保存」を選びます。
- ファイル名を「cleanup.ps1」、文字コードを「UTF-8」、ファイル種類を「すべてのファイル」にします。
- 保存場所を確認して保存します。
スクリプトの実行手順
- PowerShellを管理者として起動します。
- スクリプトのあるフォルダへ移動します。
cd C:\Scripts
- スクリプトを実行します。
.\cleanup.ps1
実行ポリシーの設定
初期状態のWindowsでは、自作のps1スクリプトを実行しようとすると「実行できません」エラーが出ます。これはセキュリティのために実行ポリシーが「Restricted(制限あり)」に設定されているためです。
現在の実行ポリシーを確認
Get-ExecutionPolicy
実行ポリシーの種類
| ポリシー名 | 説明 | 推奨度 |
|---|---|---|
| Restricted | スクリプト実行不可(初期値) | ★★★★★(最も安全) |
| RemoteSigned | ローカルは実行可、ネット経由は署名必須 | ★★★★(現実的バランス) |
| AllSigned | すべてのスクリプトに署名必須 | ★★★(法人向け) |
| Unrestricted | 無制限実行(警告のみ) | ★(個人開発のみ) |
| Bypass | 完全無制限・警告なし | 非推奨 |
実行ポリシーの変更手順
- PowerShellを管理者として起動します。
- 以下のコマンドを実行します。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- 確認メッセージで「Y」を入力してEnter。
- 変更を確認します。
Get-ExecutionPolicy -List
個人ユーザーで実用的なバランスとなるのは「RemoteSigned」です。これにより、自分が書いたローカルスクリプトは実行でき、ネット上からダウンロードしたスクリプトは署名がないと実行できないため安全性が保たれます。
実用的な活用例

例1:システム情報の取得
Get-ComputerInfo | Select-Object CsName, OsName, OsVersion, CsTotalPhysicalMemory
例2:ディスク使用量レポート
Get-PSDrive -PSProvider FileSystem | Format-Table Name, Used, Free, @{n="Total";e={$_.Used + $_.Free}} -AutoSize
例3:特定フォルダのサイズ集計
Get-ChildItem C:\Users -Recurse | Measure-Object Length -Sum
例4:ネットワーク接続テスト
Test-NetConnection -ComputerName google.com -Port 443
例5:Windows Updateの状況確認(管理者権限)
Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10
初心者がよく遭遇するトラブル
「このシステムではスクリプトの実行が無効になっています」
実行ポリシーがRestrictedのままです。前述の手順でRemoteSignedに変更してください。
コマンドが見つからない
スペル間違い、または当該機能のモジュールがインストールされていない可能性があります。Get-Command -Name *キーワード* で部分検索すると関連コマンドを発見できます。
日本語が文字化けする
古いPowerShell 5.1ではShift_JISが既定文字コードのため、UTF-8テキストを扱うと文字化けすることがあります。Out-File時に -Encoding UTF8 オプションを付けるか、PowerShell 7を導入すると解消されます。
実行に時間がかかる
大量のファイルを-Recurseで走査するときは、Where-Objectのフィルター条件を早めに設定し、不要な処理を減らすと改善します。-Filterパラメーター(プロバイダレベルのフィルタ)はWhere-Objectより高速です。
FAQ:よくある質問
Q1:PowerShellを学ぶメリットは何ですか?
定型的なファイル操作・システム管理を自動化でき、Excel VBAより応用範囲が広いです。Microsoft 365管理、Active Directory運用、サーバー管理にも直結するため、IT職を目指す方には強力な武器になります。
Q2:Linuxのbashとどう違いますか?
bashはテキストパイプ、PowerShellはオブジェクトパイプという根本的な違いがあります。LinuxではPowerShell 7も動作するため、両方を使いこなせるとクロスプラットフォームで活躍できます。
Q3:cmdは将来なくなりますか?
互換性のために残り続ける見込みですが、新機能はPowerShellに集中しています。これから学ぶならPowerShell一択です。
Q4:GUIでのスクリプト編集はできますか?
Windows標準の「ISE(Integrated Scripting Environment)」、または無料の「VS Code + PowerShell拡張」がおすすめです。VS Codeはデバッグ・補完が強力で、初心者にも使いやすいです。
Q5:商用利用に追加ライセンスは必要ですか?
WindowsユーザーであればPowerShellは追加費用なしに業務利用可能です。商用環境でのスクリプト配布や運用にも制限はありません。
Q6:危険なコマンドはありますか?
Remove-Item -Recurse -Force, Format-Volume, Stop-Computerなどはシステムに大きな影響を与えます。必ず管理者権限の使用および対象パスを確認し、本番前にテスト環境で動作検証してください。
Q7:Macからリモート実行できますか?
PowerShell 7をインストールしたMacから、Enter-PSSessionおよびWinRM経由でWindowsを管理できます。クロスプラットフォーム運用ができるのもPowerShellの強みです。
Amazon おすすめ商品
まとめ
PowerShellは、Windows管理の現代における中心的なツールです。最初は黒い画面に圧倒されるかもしれませんが、「動詞-名詞」のシンプルな命名規則、Get-Helpによる充実したヘルプ、cmdからのエイリアス継承により、思ったより親しみやすい設計になっています。
本記事で紹介した10個の基本コマンドおよびパイプライン、簡単なスクリプト作成手順を覚えれば、ファイル整理、ログ解析、システム情報取得などの定型作業が劇的に効率化します。さらに進んでスクリプトをタスクスケジューラに登録すれば、夜間の自動バックアップやレポート送信も実現可能です。最初の一歩はGet-Helpを叩くことから。今日から少しずつ触ってみて、毎日のWindows作業を自動化していきましょう。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!