PowerShell入門 ── Windowsの自動化

マウスでクリック・クリック……毎日同じ作業を繰り返している人にとって、PowerShellは強い味方になります。Windowsに最初から入っているシェルで、ファイル整理・設定変更・データ集計まで、コマンドで一気に片付けられます。

そもそもPowerShellとは

PowerShellは、マイクロソフトが2006年に公開したコマンド実行環境です。Windowsには昔からコマンドプロンプト(cmd)がありましたが、PowerShellはそれよりずっと高機能で、プログラミング言語のような書き方ができます。Windows 10以降は標準搭載され、最新のPowerShell 7はLinuxやmacOSでも動きます。

仕組み:オブジェクトを扱える

PowerShellの実用例:CPU高負荷のプロセスを停止 マウスで1個ずつタスクマネージャーから停止する作業が1行で完了 PS C:\Users\student> Get-Process | Where-Object {$_.CPU -gt 100} | Stop-Process -Force ↑ 「全プロセス取得→CPU使用100超で抽出→強制終了」を1行で実行 3 processes stopped: - chrome.exe (CPU 240, PID 1234) - notepad.exe (CPU 150, PID 5678) - update.exe (CPU 110, PID 9012) Linuxの「ps + grep + kill」と違い、PowerShellはオブジェクトを そのまま次のコマンドに渡せるので、文字列加工が不要で読みやすい → マウスで10分かかる作業が1行で済む
図1:PowerShellはオブジェクトを|(パイプ)で繋いで処理する。1行で複雑な作業が書ける

PowerShellの強みは、コマンドが「文字列」ではなく「オブジェクト」を返すことです。`Get-Process` が返すのはプロセス名・CPU・メモリなどの情報を持った構造化データで、それを `|`(パイプ)で次のコマンドに渡せます。Linuxの `grep` のような文字列加工ではなく、データそのものを扱えるので、複雑な処理が短いコードで書けます。

何に使われている

中高生でも使えるPowerShell実用例 遊び感覚で始められるコマンド集。マウスでは時間がかかる作業が秒で終わる PS> Get-ChildItem | Rename-Item -NewName {"trip_$($_.Name)"}  修学旅行の写真100枚を「trip_」付きに一括リネーム(3秒で完了) PS> Get-ComputerInfo | Select-Object CsName, OsName, OsVersion  自分のPCのスペックを表示。型番・OS・バージョンを一気に確認 PS> winget install -e --id Google.Chrome,Microsoft.VSCode  Chrome+VSCodeを同時に1行でインストール(PCセットアップに便利) PS> Get-ChildItem -Recurse -Filter *.tmp | Remove-Item  全フォルダから.tmpファイルを再帰検索して削除(クリーンアップ)
図2:4つの実例。1行で写真リネーム・スペック確認・アプリ導入・クリーンアップが完了

企業のシステム管理者が毎日使う道具として定着しています。何百台のPCに同じ設定を流し込む、サーバーの状態をまとめて調べる、Azureのクラウドリソースを操作する、こうした作業はGUIでは現実的ではなく、PowerShellがあって初めて成立します。

中高生におすすめの使い方

最初は「ファイル一括リネーム」から始めるのが楽しいです。例えば、修学旅行で撮った写真を `Get-ChildItem | Rename-Item -NewName {"trip_$($_.Name)"}` の1行で全部「trip_」付きに変更できます。他にも、ダウンロードフォルダの古いファイルを一気に削除、アプリを `winget install` でまとめてインストール、PCのスペックを `Get-ComputerInfo` で確認、など実用的な使い道がたくさんあります。

練習するときは、必ずコピーしたフォルダで試しましょう。一括リネームや削除は便利ですが、対象を間違えると大量のファイル名が変わったり消えたりします。まず Get-ChildItem で対象を表示し、次に -WhatIf オプションで「実行したらどうなるか」を確認してから本番実行すると安全です。

気をつけたい落とし穴

PowerShell利用時の3つの注意点
  • ネットで拾ったスクリプトを内容を見ずに実行しない。最悪PCを破壊する命令も書ける
  • `Remove-Item` などの削除系コマンドは取り消せない。テスト用フォルダで試してから本番に使う
  • 管理者権限で起動するときは慎重に。普段は通常モードで作業し、必要なときだけ昇格

将来どう役立つ?

Windowsサーバーを運用する企業では、PowerShellを書ける人は重宝されます。インフラエンジニア・社内SE・クラウド管理者などのキャリアで、避けて通れない道具です。中高生のうちにコマンド操作に慣れておくと、Linuxシェルやプログラミングへの移行もスムーズです。

PowerShellは、WindowsだけでなくAzureやMicrosoft 365の管理にも使われます。学校や会社で多くのWindows PCを扱う場面では、GUIで1台ずつ設定するより、スクリプトでまとめて処理するほうが現実的です。小さな自動化から始めると、将来のシステム管理やクラウド運用につながります。

今日からできること

3ステップで始めよう
  1. スタートメニューから「Windows PowerShell」を起動する
  2. `Get-Date` `Get-Process` `Get-ChildItem` の3つを打って、コマンドの感触をつかむ
  3. ダウンロードフォルダで `Get-ChildItem | Sort-Object Length -Descending | Select-Object -First 5` を試す(容量上位5個が見える)

まとめ

PowerShellは、Windowsを文字どおりプログラム的に操作できるシェルです。マウスでは1時間かかる作業が、1行のコマンドで終わることもあります。最初は遊び感覚で「ファイル整理」「PC情報取得」あたりから触り、慣れたらスクリプトファイル(.ps1)を書いて自動化に進むのが順序です。