Windows11でPowerShellを使う方法!起動・基本コマンド・実行ポリシー変更・コマンドプロンプトとの違い

Windows 11のWindows Terminal上で動作するPowerShell画面と自動化スクリプトの実行イメージ PC便利ツール・アプリ
Windows 11で業務を劇的に効率化するPowerShellの基本操作と実践自動化スニペット

Windows 11における作業効率化やシステム管理において、PowerShellは中核を担う強力なツールです。

従来のコマンドプロンプトを大幅に進化させたスクリプト環境です。

日常の反復作業を瞬時に終わらせる力を秘めています。

本記事では、

  • 初心者が迷わず使い始められる安全な起動手順
  • 実務直結の基本コマンド
  • 赤文字エラーとして有名な実行ポリシーの安全な解除

そしてコピペですぐに使える自動化スクリプトまでを徹底的に解説します。

PowerShellの基本概要とコマンドプロンプトとの本質的な違い

PowerShellはマイクロソフトが開発した高度なタスク自動化・構成管理フレームワークです。

オブジェクト指向型の出力パイプライン

従来のコマンドプロンプトは、コマンドの実行結果をすべて「単なる文字列」として出力していました。

そのため、特定の値を取り出すには文字列の切り出し処理(テキストパース)が必要でした。

PowerShellは、すべてのデータを「オブジェクト」として扱います。プロパティ(属性情報)やメソッド(操作手段)を保持した構造化データとしてデータを受け渡すため、パイプライン(|)を使って後続のコマンドへ渡す際、直感的なフィルタリングや加工が極めて正確に行えます。

コマンド体系(動詞-名詞)の標準化

PowerShellで使用するコマンドレット(Cmdlet)は、すべて「動詞-名詞」という統一ルールで命名されています。

  • Get-(取得する)
  • Set-(変更・設定する)
  • New-(新規作成する)
  • Remove-(削除する)
  • Test-(検証する)

この命名規則のおかげで、初めて目にするコマンドであっても「何を行うためのものか」を推測しやすくなっています。

Windows PowerShell 5.1 と PowerShell 7 の相違点

Windows 11に標準搭載されているのは「Windows PowerShell 5.1」です。

これは.NET Framework上で動作し、Windows環境の管理に特化しています。

一方、最新の「PowerShell 7」はオープンソースの.NET(旧.NET Core)上で構築されたクロスプラットフォーム版です。

WindowsだけでなくmacOSやLinuxでも動作し、並列処理(-Parallel)などの強力な新機能が追加されています。

一般的な日常管理やバッチ処理であれば標準の5.1で完結しますが、大規模なデータ処理やマルチOS環境ではPowerShell 7の導入が適しています。

Windows 11でPowerShellを起動する全手順

Windows 11ではコンソール環境が統合され、標準で「Windows Terminal」を経由して起動する仕様になっています。

スタートボタンの右クリック(クイックアクセスメニュー)

最も手軽な起動方法です。

  1. スタートボタンを右クリックします(またはキーボードの Win + X を押下)。
  2. 表示された一覧から「ターミナル」または「ターミナル(管理者)」を選択します。
  3. デフォルトでPowerShellのプロファイルが開きます。

管理者権限が必要なシステム変更やサービス制御を行う場合は、必ず「ターミナル(管理者)」を選んでください。CUI全体の権限管理については、Windows11でコマンドプロンプトを管理者として実行する方法まとめ【2026年最新】でも詳しく取り上げています。

ファイル名を指定して実行ダイアログ

キーボード操作のみで素早く立ち上げる手順です。

  1. Win + R を押して「ファイル名を指定して実行」を開きます。
  2. 入力欄に powershell または wt と入力します。
  3. そのまま Enter を押すと通常起動、Ctrl + Shift + Enter を同時に押すと管理者権限で起動します。

エクスプローラーのアドレスバーから対象フォルダで直接開く

作業したいフォルダがあらかじめ決まっている場合に最適です。

  1. エクスプローラーで目的のフォルダを開きます。
  2. 上部のアドレスバーをクリックして全選択状態にします。
  3. powershell と入力して Enter を押します。
  4. そのディレクトリをカレントパス(作業フォルダ)とした状態でPowerShellが起動します。

Windows Terminalとの統合と作業環境の最適化

Windows 11の標準ターミナルエミュレーターである「Windows Terminal」を活用することで、PowerShellの操作性が向上します。

タブとペインの分割操作

1つのウィンドウ内で複数の作業を並行して進めることができます。

  • 新規タブを開く: Ctrl + Shift + T
  • 垂直分割(左右): Alt + Shift + +
  • 水平分割(上下): Alt + Shift + -
  • ペインを閉じる: Ctrl + Shift + W

常に管理者権限で起動するプロファイル設定

設定画面から「Windows PowerShell」のプロファイルを選び、「このプロファイルを管理者として実行する」をオンにすることで、日常的な権限昇格の手間を省略できます。

より高度な外観変更やキーバインドの定義については、Windows TerminalのJSON設定ファイルを深く理解し自在に操るを参照してください。

初心者がまず覚えるべき基本コマンドレット

日常的なファイル操作や状態確認で使用頻度の高いコマンド群です。

PowerShell

# カレントディレクトリのファイル・フォルダ一覧を表示
Get-ChildItem

# フォルダを新規作成
New-Item -Path "C:\SampleFolder" -ItemType Directory

# 空のテキストファイルを新規作成
New-Item -Path "C:\SampleFolder\test.txt" -ItemType File

# ファイルの内容を表示
Get-Content -Path "C:\SampleFolder\test.txt"

# ファイルを指定した場所にコピー
Copy-Item -Path "C:\SampleFolder\test.txt" -Destination "C:\Backup\test.txt"

# ファイルを移動
Move-Item -Path "C:\SampleFolder\test.txt" -Destination "C:\Destination\"

# ファイルやフォルダを削除
Remove-Item -Path "C:\SampleFolder\test.txt"

# 稼働中のプロセス一覧を取得
Get-Process

# Windowsのサービス状態一覧を取得
Get-Service

パイプラインとフィルタリング

PowerShellの真価はパイプライン処理にあります。Where-Object を使うことで、条件に一致するデータのみを絞り込めます。

PowerShell

# メモリ使用量(WorkingSet)が200MBを超えるプロセスを抽出
Get-Process | Where-Object { $_.WorkingSet -gt 200MB }

# 停止している(StatusがStopped)サービスの一覧を取得
Get-Service | Where-Object { $_.Status -eq "Stopped" }

実行ポリシー(ExecutionPolicy)エラーの完全解決

自作したスクリプト(.ps1ファイル)を実行しようとすると、コンソールに赤い文字でエラーが表示されることがあります。

Plaintext

File C:\Scripts\sample.ps1 cannot be loaded because running scripts is disabled on this system.

これはWindowsのセキュリティ機能によって、悪意あるスクリプトが勝手に実行されないよう制限されているためです。

実行ポリシーの確認と変更手順

現在の設定を確認するには以下のコマンドを実行します。

PowerShell

Get-ExecutionPolicy

初期状態は通常 Restricted(スクリプトの実行を全面的に禁止)に設定されています。

ローカルで自作したスクリプトを許可しつつ、インターネットからダウンロードしたスクリプトには署名を要求する安全な設定 RemoteSigned へ変更します。

管理者権限で開いたPowerShellで以下を実行します。

PowerShell

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

変更の確認を求められたら Y を入力して Enter を押します。-Scope CurrentUser を指定することで、システム全体ではなく現在ログインしているユーザー環境のみに適用され、セキュリティリスクを抑えられます。

組織全体の管理方針については、Windows11のグループポリシーとは?gpedit.mscの開き方から設定例まで完全ガイドで解説されている集中制御の手法も役立ちます。

実務でそのまま使える自動化スクリプト集

日常業務の反復作業を解消するスクリプト例です。コードをコピーし、メモ帳などに貼り付けて拡張子を .ps1 にして保存することで実行できます。

1. フォルダ内の拡張子一括変換

大量の .jpeg ファイルを .jpg にリネームする処理です。

PowerShell

$targetPath = "C:\Data\Images"
Get-ChildItem -Path $targetPath -Filter "*.jpeg" | ForEach-Object {
    $newName = $_.Name -replace '\.jpeg$', '.jpg'
    Rename-Item -Path $_.FullName -NewName $newName
}

2. 日付付きバックアップフォルダの自動生成とデータ退避

日々の更新ファイルを日付スタンプ付きフォルダに退避します。

PowerShell

$sourceDir = "C:\Work\ProjectDocs"
$backupRoot = "D:\Backups"
$dateString = Get-Date -Format "yyyyMMdd_HHmmss"
$destinationDir = Join-Path -Path $backupRoot -ChildPath $dateString

New-Item -Path $destinationDir -ItemType Directory -Force
Copy-Item -Path "$sourceDir\*" -Destination $destinationDir -Recurse

より包括的なOS全体の冗長化対策は、Windows11バックアップ完全ガイド!初心者も安心な設定方法から復元まで徹底解説をご確認ください。

3. 指定日数を超過した古いログファイルの自動削除

30日以上前のログファイルを定期的に削除し、ディスク容量を保護します。

PowerShell

$logPath = "C:\AppLogs"
$limitDate = (Get-Date).AddDays(-30)

Get-ChildItem -Path $logPath -Filter "*.log" | Where-Object {
    $_.LastWriteTime -lt $limitDate
} | Remove-Item -Force

すぐ使える実践テクニック

一般的なコマンド解説にとどまらない、実務現場でのトラブル予防と効率化のための応用ノウハウです。

1. レジストリ変更処理の安全な自動化(Dry-Run / WhatIfの徹底)

レジストリ操作はOSの挙動に直結するため、誤った書き換えはシステムのクラッシュを招きます。

PowerShellのコマンドレットの多くは、実際に変更を加える前に動作結果をシミュレートする -WhatIf パラメーターをサポートしています。

PowerShell

# 実行しても変更は加わらず、コンソールに実行予定の処理のみ表示される
Set-ItemProperty -Path "HKCU:\Software\SampleApp" -Name "AutoUpdate" -Value 0 -WhatIf

事前のシミュレーション確認を徹底し、安全にスクリプトを実行してください。手動での確認手順や構造については、Windows11でレジストリを編集する方法!regeditの起動・バックアップ・安全な操作手順を参考にしてください。

2. PowerShellスクリプトのWindowsタスクスケジューラ無人化登録

日常の定期メンテナンスを自動化する場合、GUIのタスクスケジューラを手動で設定する代わりに、PowerShell自身からスケジュール登録を行うのが効率的です。

PowerShell

# 毎朝8時にバックアップスクリプトをサイレント実行するタスクの登録
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File C:\Scripts\AutoBackup.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 8:00am
Register-ScheduledTask -TaskName "DailyDataBackup" -Action $action -Trigger $trigger -Description "Execute daily backup silently"

画面を表示させずに裏で自動処理を走らせることができます。

3. PSReadLineによるオートコンプリートと予測入力の高度カスタマイズ

Windows 11のPowerShellでは、PSReadLine モジュールが標準で組み込まれています。

これに予測入力(Predictive IntelliSense)を設定することで、入力効率が大幅に向上します。

PowerShellコンソールで以下のコマンドを実行します。

PowerShell

# 過去の履歴に基づいたインライン予測入力を有効化
Set-PSReadLineOption -PredictionSource History
# 予測候補の表示形式をリスト表示に変更(F2キーで切り替えも可能)
Set-PSReadLineOption -PredictionViewStyle ListView

過去に入力した長いコマンドやパスが候補として即座に提示されるため、入力ミスを未然に防ぎながら高速に入力できます。

Windows 11におけるPowerShellは、単なる管理用ツールにとどまらず、反復業務をゼロにするための自動化プラットフォームです。

まずは簡単なファイル一覧の取得やフォルダ作成から始め、慣れてきたらパイプライン処理やスクリプト作成へとステップアップしていきましょう。

関連する詳細なシステム管理テクニックについては、以下の記事もあわせて参考にしてください。

タイトルとURLをコピーしました