【ぱわーしぇる】

PowerShell(パワーシェル) とは?

最終更新:
💡 情報をオブジェクトで渡し、管理作業を自動化する

Microsoftが開発する、コマンドを実行するシェルとスクリプト言語。主に.NETのオブジェクトをコマンド間で渡し、情報の抽出や管理作業の自動化に利用する。PowerShell 7はWindows・Linux・macOSで利用できる。

📌 このページのポイント
オブジェクトを渡すパイプライン Get-Process 名前・IDなど プロセスの情報 Sort-Object -Property ProcessName Select-Object -First 3 ProcessName, Id 名前順に先頭3件を選択
コマンドレットの出力を、名前やIDなどのプロパティで並べ替え・選択する例。
ひよこ ひよこ
PowerShellってコマンドプロンプトと同じ?
ペンギン先生 ペンギン先生
どちらもコマンドを実行できるけれど、別のシェルだよ。PowerShellには独自の構文やコマンドレットがある。コマンドプロンプト用の書き方が、そのまますべて使えるわけではないんだ。
ひよこ ひよこ
オブジェクトで結果を渡すってどういうこと?
ペンギン先生 ペンギン先生
たとえばGet-Processで取得するプロセスの情報には、名前やIDなどのプロパティがあるよ。表示された文字の位置を切り出す代わりに、プロパティを指定して並べ替えや選択を行えるんだ。
ひよこ ひよこ
パイプの記号でつなげばよい?
ペンギン先生 ペンギン先生
パイプラインは、左のコマンドの結果を右へ渡す仕組みだよ。受け取るコマンドがその入力に対応している必要はある。外部の実行ファイルの出力など、文字列として扱う結果もあるんだ。
ひよこ ひよこ
Windowsに入っているものを使えば最新版?
ペンギン先生 ペンギン先生
Windowsに含まれるWindows PowerShell 5.1と、別にインストールするPowerShell 7は異なる製品だよ。7はWindows・Linux・macOSで利用できるけれど、必要なモジュールやスクリプトの対応も確認するんだ。
ひよこ ひよこ
実行ポリシーがあれば、危険なスクリプトを防げる?
ペンギン先生 ペンギン先生
Windowsの実行ポリシーは、スクリプトをうっかり実行することなどを減らす仕組みだよ。回避できるので、セキュリティの境界にはならない。入手元や内容の確認、権限の管理なども必要なんだ。
もっと詳しく知りたい人へ

どのような管理作業に使える?

ファイルの整理、プロセス情報の確認、対応するサービスやクラウドの管理などに利用できます。利用できるコマンドや権限は環境によって異なります。情報の取得と、停止・削除などの変更を伴う操作を区別し、変更するスクリプトは対象と結果を確認して使います。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「PowerShell」って出てきたら「オブジェクトを扱って管理作業を自動化できる、シェルとスクリプト言語」と思えばだいたいOK!
📖 おまけ:英語の意味
「PowerShell」 = Microsoftのシェルとスクリプト言語の名称
💬 Shellは、コマンドを受け取り実行するための仕組みを指す言葉だよ。PowerShellでは、コマンドレットやスクリプトを組み合わせて作業を進めるんだ。

参考資料

← 用語集にもどる