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

スポンサーリンク
Windows 11の画面でPowerShellが起動しコマンドが入力されている様子 Windows 11 使い方・活用術
Windows 11におけるPowerShellの基本と実践活用

Windows 11でパソコンの自動化や高度なシステム管理、大量のファイル処理を行おうとした際、解説記事やマニュアルで必ず目にするのが「PowerShell(パワーシェル)を起動してコマンドを実行してください」という案内です。

しかし、普段マウス操作(GUI)を中心に行っている一般的なユーザーにとって、見慣れない青や黒の画面に英数字を直接打ち込む作業は、

  • 「誤ったキーを押してWindowsを壊してしまうのではないか」
  • 「プログラマー専用の難解なツールなのではないか」

という心理的な抵抗感や不安を抱かせます。

私自身も以前は、Windowsのシステム管理といえば従来の黒い画面である「コマンドプロンプト」しか使っていませんでした。

ある時、フォルダー内にある数百個のファイル名を統一フォーマットへ一括リネームする必要が生じました。

コマンドプロンプトで複雑なバッチ処理を書こうとしてエラーに悩まされ、途方に暮れた経験があります。

その際に初めてPowerShellの基本構文(コマンドレット)とパイプライン処理に触れ、わずか1行のスクリプトで何百個ものファイル名が一瞬で整然と書き換わった光景を目にした時、その圧倒的な効率性と強力さに深く感動しました。

Windows 11では、従来の独立したウィンドウに代わり、近代的な「Windows ターミナル」が標準搭載されたことで、PowerShellの利便性は飛躍的に向上しています。

従来のコマンドプロンプトが単なる「文字列の出力」しか扱えなかったのに対し、PowerShellはWindows内部のあらゆるデータや設定を「オブジェクト(意味を持ったデータの塊)」として操作できます。

そのため、

  • システム情報の取得
  • 不要な常駐プロセスの制御
  • ネットワーク診断

さらにはOS標準アプリの完全削除まで、GUIでは不可能な領域を自由自在にコントロールできます。

本記事では、

  • 初心者でも迷わないPowerShellの多彩な起動手順
  • コマンドプロンプトとの根本的な違い
  • 知っておくべき基本コマンドレットの構文
  • スクリプト実行時に立ちはだかる「ExecutionPolicy」エラーの安全な解除法

さらには実務で直ちに役立つ自動化ワンライナーまでを体系的に網羅しました。

専門用語には初心者の方にも分かりやすい注釈を添えていますので、本ガイドの手順に沿って一つずつ操作を確認してください。

作業効率を劇的に高めるスキルを身につけましょう。

PowerShellの起動手順

Windows 11でPowerShellを立ち上げる方法は複数用意されており、実行する作業の要求権限に応じて「通常起動」と「管理者起動」を使い分ける必要があります。

Windows 11のクイックリンクメニューおよび検索からPowerShellを開いている画面
PowerShellの主要な起動方法

「Win + X」クイックリンクメニューからの起動

Windows 11で最も素早く確実に管理者権限で立ち上げるには、ショートカットキーを活用します。

  1. キーボードの「Win + X」キーを同時に押すか、画面左下のスタートボタンを右クリックします。
  2. 表示されたクイックリンクメニューの中から「ターミナル(管理者)」(または「Windows ターミナル(管理者)」)をクリックします。
  3. ユーザーアカウント制御(UAC)の警告ダイアログが表示されたら「はい」を選択します。
  4. これにより、管理者権限が付与されたPowerShellタブが最前面に起動します。

スタートメニュー検索からの立ち上げ

特定のバージョン(Windows PowerShell 5.1など)をピンポイントで呼び出す場合は、検索機能を用います。

  1. キーボードの「Windowsキー」を押すか、タスクバーの検索バーをクリックします。
  2. キーボードで直接 powershell と入力します。
  3. 最も一致する検索結果に「Windows PowerShell」が表示されるため、右側メニューから「管理者として実行」または「開く」をクリックします。

従来の黒い画面であるコマンドプロンプトの基本操作や起動方法を確認したい場合は、Windows11でコマンドプロンプトを使う方法!管理者権限での起動・基本コマンド一覧・活用術を完全解説 を併せてご覧ください。

コマンドプロンプトとの違い

外見が似ているコマンドプロンプトとPowerShellですが、内部のデータ処理構造や拡張性には決定的な違いが存在します。

コマンドプロンプトのテキスト出力とPowerShellのオブジェクト出力を比較した図
コマンドプロンプトとPowerShellの構造的相違

オブジェクト指向による強力なデータ連携

最大の違いは、コマンド間でやり取りされるデータの形式です。

  • コマンドプロンプト(テキスト処理): コマンドの実行結果はすべて「単純な文字列」として出力されます。そのため、特定のデータ(ファイルサイズや更新日時など)を抽出して次のコマンドに渡すには、複雑な文字列分割処理が必要でした。
  • PowerShell(オブジェクト処理): 出力されるすべてのデータは、名前、サイズ、作成日、アクセス権といった属性情報を持った「オブジェクト」として保持されます。パイプ記号(|)を使って後続のコマンドにオブジェクトをそのまま引き渡せるため、高度な抽出や加工が極めて直感的に行えます。

命名規則「動詞-名詞」からなるコマンドレット

PowerShellの命令は「コマンドレット(Cmdlet)」と呼ばれ、すべて「動詞-名詞」という明確な英単語の組み合わせで構成されています。

  • 例:Get-Process(プロセスを取得する)
  • 例:Stop-Service(サービスを停止する)
  • 例:New-Item(新しいファイルやフォルダーを作成する)

英語の文法通りに命名されているため、初めて目にするコマンドであっても「何を行う命令なのか」がひと目で推測できる設計になっています。

また、初心者の移行を助けるため、従来のコマンドプロンプトで使われていた dircdcls といったコマンドもエイリアス(別名ショートカット)としてそのまま利用可能です。

GUI側から動作中のプロセスや負荷状況を監視したい場合は、Windows11タスクマネージャーの開き方と使い方完全ガイド も参考にしてください。

基本コマンドと構文一覧

PowerShellを実務で扱う上で、頻繁に利用する代表的な基本コマンドレットを機能別に整理しました。

PowerShellでGet-ChildItemやGet-Processを実行して表形式で結果を表示している様子
代表的な基本コマンドレット一覧

初心者が真っ先に覚えるべき主要コマンドレット

コマンドレットエイリアス機能と実行例
Get-ChildItemdir / lsフォルダー内のファイルやサブフォルダーを一覧表示する
Get-ChildItem -Path C:\Data
Set-Locationcdカレントディレクトリ(作業フォルダー)を移動する
Set-Location "C:\Users\Public"
Get-Contentcat / typeテキストファイルの中身を読み込んでコンソールに表示する
Get-Content error_log.txt
New-Itemなし新規ファイルやフォルダーを作成する
New-Item -Path .\test.txt -ItemType File
Remove-Itemdel / rm指定したファイルやフォルダーを削除する
Remove-Item .\old_data.csv
Get-Processps現在PC上で稼働しているプロセスの一覧とメモリ使用状況を表示
Get-Process
Get-ServicegsvWindowsのバックグラウンドサービス一覧と稼働状態を表示
Get-Service

※注釈:カレントディレクトリとは、現在プロンプトが操作対象として認識しているフォルダー階層のことです。画面上の PS C:\Users\ユーザー名> の部分がこれを示します。

パイプライン(|)と絞り込み構文(Where-Object)

PowerShellの真価を発揮するのが、パイプライン処理によるデータの絞り込みです。

例えば、「CPUを大量に消費しているプロセスだけを抽出したい」場合、以下のようにコマンドをパイプで繋ぎます。

PowerShell

Get-Process | Where-Object { $_.CPU -gt 10 } | Sort-Object CPU -Descending
  • Where-Object: 指定した条件(CPU消費が10以上)に合致するデータのみを通過させます。
  • Sort-Object -Descending: 抽出したデータをCPU消費の多い順(降順)に並べ替えて表示します。

マウス操作では何十回もクリックが必要な複雑な検索・抽出作業が、わずか1行で完結します。

実行ポリシーエラーの解除

自作のスクリプトファイル(.ps1)を実行しようとした際、画面に真っ赤な文字でエラーが表示されて停止する現象の原因と解決策を解説します。

PowerShellのスクリプト実行ポリシーエラーをRemoteSignedで解除している画面
ExecutionPolicyの確認と変更手順

「スクリプトの実行が無効」エラーの正体

Windows 11の初期状態では、悪意あるスクリプトが勝手に実行されてシステムが改ざんされるのを防ぐため、実行ポリシー(ExecutionPolicy)が最も厳しい「Restricted(全スクリプト実行禁止)」に設定されています。

このセキュリティ仕様により、安全な自作スクリプトであってもダブルクリックや実行時にエラーで弾かれます。

「RemoteSigned」への安全な変更手順

PCの安全性を維持しつつ自作スクリプトを動かすには、ポリシーを「RemoteSigned(ローカルで作成したスクリプトは許可、ネットから取得したものは署名必須)」に変更します。

  1. 「Win + X」キーを押し、「ターミナル(管理者)」を開きます。
  2. 現在の設定を確認するため、以下のコマンドを入力してEnterキーを押します。PowerShellGet-ExecutionPolicyRestricted と表示された場合は実行がブロックされています)
  3. 以下のコマンドを実行してポリシーを変更します。PowerShellSet-ExecutionPolicy RemoteSigned
  4. 実行ポリシーの変更確認が表示されたら、半角英字で Y と入力してEnterキーを押します。
  5. 再び Get-ExecutionPolicy を実行し、RemoteSigned と表示されれば設定完了です。

システムの根本的なセキュリティやセキュアブートの保護状態を確認したい場合は、Windows11のセキュアブートを確認・有効化する方法!BIOSとTPM設定の完全ガイド も合わせてご確認ください。

実務で役立つ神ワンライナー

現場のオフィスワークやPCメンテナンスで劇的な時短をもたらす、コピペで即座に使える強力なスクリプト例を紹介します。

PowerShellで大量のファイル名を一括自動リネームしているイメージ図
実務で使えるPowerShell自動化ワンライナー

複数ファイル名の一括置換・リネーム

フォルダー内にあるすべての「古い日付」や「特定の文字」を一括で置換したい場合、以下のワンライナーを実行します。

PowerShell

Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '2025','2026' }

このコマンドを実行すると、カレントディレクトリ内のすべてのテキストファイル(.txt)を対象に、ファイル名の中にある「2025」という文字列が瞬時に「2026」へと一括置換されます。

ファイルやフォルダー全体の確実なバックアップ手順や復元方法については、Windows11のバックアップと復元を徹底解説!システムイメージ・ファイル履歴・OneDrive設定まで完全ガイド をご参照ください。

パソコンの詳細スペック・型番の一括テキスト出力

サポート窓口や資産管理用として、PCのメーカー名、型番、シリアル番号、BIOSバージョンを一覧出力したい場合は、WMI/CIM情報を取得します。

PowerShell

Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, Model, TotalPhysicalMemory

グラフィックスやマザーボードの情報まで含めた完全なハードウェア仕様が一瞬で画面上に整理されて表示されます。

コマンドを活用したWindowsシステムのライセンス認証や保守手順については、Windowsライセンス認証:コマンドで解決!Server版の手順も解説 も参考にしてください。

専門的な3つの独自視点

一般的な入門サイトでは触れられない、上級者やIT管理者が現場で重宝する3つの高度な専門テクニックを公開します。

「Remove-AppxPackage」による標準プレインストールアプリの完全消去

Windows 11の設定アプリやコントロールパネルからはアンインストールできない、OS標準のプレインストールアプリ(ニュース、Xbox関連ツール、Cortanaの残骸など)は、PowerShellのパッケージ管理コマンドレットを使用することで、完全にシステムから除去できます。

管理者ターミナルで以下のように実行することで、不要なバックグラウンド通信や常駐プロセスを一掃し、システムを大幅に軽量化できます。

PowerShell

Get-AppxPackage *Xbox* | Remove-AppxPackage

「winget」連携による最新PowerShell 7へのアップグレード

Windows 11に標準搭載されているのは、.NET Framework上で動作する従来の「Windows PowerShell 5.1」です。

最新の.NETコアを基盤とし、起動速度の向上や並列処理(ForEach-Object -Parallel)に対応した最新の「PowerShell 7」を導入するには、Windows標準のパッケージマネージャーであるwingetを活用するのが最もスマートです。

PowerShell

winget install --id Microsoft.PowerShell --source winget

このコマンドを実行するだけで、公式サイトからインストーラーを手動で探す必要なく、最新のモダンPowerShell環境が自動セットアップされます。

「Out-GridView」によるGUIフィルターウィンドウの呼び出し

コンソール上の文字情報が見づらい場合、コマンドの末尾に | Out-GridView を追加して実行すると、検索・ソート・絞り込みが可能な専用のGUIスプレッドシートウィンドウが別画面で立ち上がります

PowerShell

Get-Process | Out-GridView

画面上部の検索バーから直感的にキーワードを入力してプロセスを絞り込んだり、列ヘッダーをクリックしてメモリ使用量順に並べ替えることができるため、CUIとGUIのいいとこ取りをしたデータ分析が可能です。

よくある質問

PowerShellの使い方に関して読者から多く寄せられる質問に分かりやすくお答えします。

Windows 11のPowerShell利用に関するFAQイメージイラスト
PowerShellのFAQコーナー

実行中の処理を途中で強制停止したい時はどうすればいいですか?

長大なファイル走査や無限ループ処理など、実行中のスクリプトを途中で緊急中断したい場合は、キーボードの「Ctrl + C」を同時に押します。

これにより、インターラプト(割り込み)信号が送られ、安全に処理が停止して通常の入力プロンプトに戻ります。

Windows PowerShell 5.1とPowerShell 7はどちらを使うべきですか?

一般的な日常のPC管理やバッチ処理であれば、標準搭載のWindows PowerShell 5.1で何一つ不自由ありません。

大量データの高速処理やLinux/Macとのクロスプラットフォーム運用、最新のプログラミング言語仕様を活用したい場合にPowerShell 7を導入するのが最適です。

両者は共存可能なため、用途に応じて使い分けることができます。

Windows 11におけるPowerShellは、管理者権限での正しい立ち上げ方と基本コマンドレットの文法さえ理解してしまえば、PCの日常管理やルーティンワークを劇的に自動化・高速化してくれる頼もしい環境です。

本ガイドで紹介した基本操作や実務ワンライナーを手元で実践し、黒い画面を最大の武器に変えて快適なパソコンライフを実現してください。

PC全体の起動速度改善や、外付けストレージをコマンドラインから安全に初期化する手順に興味がある方は、以下の関連記事もぜひチェックしてみてください。