そもそもPowerShellとは
PowerShellは、マイクロソフトが2006年に公開したコマンド実行環境です。Windowsには昔からコマンドプロンプト(cmd)がありましたが、PowerShellはそれよりずっと高機能で、プログラミング言語のような書き方ができます。Windows 10以降は標準搭載され、最新のPowerShell 7はLinuxやmacOSでも動きます。
仕組み:オブジェクトを扱える
PowerShellの強みは、コマンドが「文字列」ではなく「オブジェクト」を返すことです。`Get-Process` が返すのはプロセス名・CPU・メモリなどの情報を持った構造化データで、それを `|`(パイプ)で次のコマンドに渡せます。Linuxの `grep` のような文字列加工ではなく、データそのものを扱えるので、複雑な処理が短いコードで書けます。
何に使われている
企業のシステム管理者が毎日使う道具として定着しています。何百台のPCに同じ設定を流し込む、サーバーの状態をまとめて調べる、Azureのクラウドリソースを操作する、こうした作業はGUIでは現実的ではなく、PowerShellがあって初めて成立します。
中高生におすすめの使い方
最初は「ファイル一括リネーム」から始めるのが楽しいです。例えば、修学旅行で撮った写真を `Get-ChildItem | Rename-Item -NewName {"trip_$($_.Name)"}` の1行で全部「trip_」付きに変更できます。他にも、ダウンロードフォルダの古いファイルを一気に削除、アプリを `winget install` でまとめてインストール、PCのスペックを `Get-ComputerInfo` で確認、など実用的な使い道がたくさんあります。
練習するときは、必ずコピーしたフォルダで試しましょう。一括リネームや削除は便利ですが、対象を間違えると大量のファイル名が変わったり消えたりします。まず Get-ChildItem で対象を表示し、次に -WhatIf オプションで「実行したらどうなるか」を確認してから本番実行すると安全です。
気をつけたい落とし穴
- ネットで拾ったスクリプトを内容を見ずに実行しない。最悪PCを破壊する命令も書ける
- `Remove-Item` などの削除系コマンドは取り消せない。テスト用フォルダで試してから本番に使う
- 管理者権限で起動するときは慎重に。普段は通常モードで作業し、必要なときだけ昇格
将来どう役立つ?
Windowsサーバーを運用する企業では、PowerShellを書ける人は重宝されます。インフラエンジニア・社内SE・クラウド管理者などのキャリアで、避けて通れない道具です。中高生のうちにコマンド操作に慣れておくと、Linuxシェルやプログラミングへの移行もスムーズです。
PowerShellは、WindowsだけでなくAzureやMicrosoft 365の管理にも使われます。学校や会社で多くのWindows PCを扱う場面では、GUIで1台ずつ設定するより、スクリプトでまとめて処理するほうが現実的です。小さな自動化から始めると、将来のシステム管理やクラウド運用につながります。
今日からできること
- スタートメニューから「Windows PowerShell」を起動する
- `Get-Date` `Get-Process` `Get-ChildItem` の3つを打って、コマンドの感触をつかむ
- ダウンロードフォルダで `Get-ChildItem | Sort-Object Length -Descending | Select-Object -First 5` を試す(容量上位5個が見える)