今回は前編、後編の2回にわけて、PowerShellを実用で使うための解説を中心にする。PowerShellはWindowsに組み込まれているプログラムで、コマンドラインインタープリタという「シェル」と、「スクリプティング言語」、そして「システム管理ツール」の側面を併せ持つ。本記事は、全く知らない人を対象にした入門的な内容ではなく、実用的な使い方につながる基礎を紹介する。最低でもプログラミング経験があることを前提にしている。

PowerShellは次世代のcmd.exeなのか?

 普段、WindowsやWindows Serverの管理でnetshを使っている場合、Windows 8からは、netshに関する警告を見た記憶があるだろう(画面1)。また、[Windows]+[X]キーで表示されるメニューの設定で、メニューに表示される「コマンドプロンプト」を「PowerShell」に切り替える項目がある(画面2)。こうしたことから推測するに、マイクロソフトは、PowerShellを管理ツールとして、現在のコマンドプロンプトのcmd.exeやその下で動作するnetshなどの代替にしようとしていると推測される。

画面1●netshで一部のコンテキストを指定すると、PowerShellへの移行を進められる
[画像のクリックで拡大表示]
画面2●Windows 8から、[Windows]+[X]メニューのcmd.exeをPowerShellに置き換えるオプションがある
[画像のクリックで拡大表示]

 cmd.exeも、コマンドラインとバッチ(Batch)、コンソール内で動作する様々な管理用コマンドの組み合せで、一種の「環境」を提供していた。ただ、cmd.exeは、MS-DOSのcommand.comを起源に持ち、機能拡張はされているものの、基本的には、MS-DOSのコマンドラインからほとんど進化していない。PowerShellは、ある意味、Windowsに残っていたMS-DOS最後の「レガシー」とでもいうべきcmd.exeを置き換えるものといえる。

 マイクロソフトもWindows 10でcmd.exeを強化したのでは?と思われるかもしれないが、実際に強化されたのは、コンソールウインドウを表示する「CONHOST.EXE」だ。ウインドウサイズとバッファーの制御やエスケープシーケンス、ウインドウの透明化などの機能は、cmd.exeから起動するCONHOST.EXE側の機能だ。

この先は会員の登録が必要です。有料会員(月額プラン)は登録月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら