Windows 10や11でWindows PowerShellを起動すると、以下の画像のように「新しいクロスプラットフォームのPowerShellをお試しください。」や「新機能と改善のために最新のPowerShell をインストールしてください。」と表示されます。
そこでここでは、この「新しいクロスプラットフォームのPowerShell(最新のPowerShell )」は何か、これまでの「Windows PowerShell」とどう違うのか、どうやってインストールすのかを紹介します。
目次
新しいクロスプラットフォームのPowerShellとは
「新しいクロスプラットフォームのPowerShell(最新のPowerShell )」は「PowerShell Core」を指しており、2018年1月にMicrosoftが発表したPowerShellの新しいエディションです。
PowerShell とは - PowerShell | Microsoft Learn
Windows PowerShellが、Windows OSに同梱されているWindows専用だったのに対して、PowerShell Coreは、クロスプラットフォームで利用できるオープンソースソフトウェアとして、Windows以外にもさまざまなOSで利用できます。
また、Windows PowerShellはすでに開発が終了され、今後はバグフィックスのみが行われるようですが、PowerShell Coreの開発は活発で、新機能の開発などが積極的に進められています。
なお、PowerShell Coreのインストールしても、既存のWindows PowerShellはこれまでどおり利用できます。
PowerShell Coreのインストール
PowerShell Coreのインストーラーは、GitHubのプロジェクトページからインストーラーをダウンロードしてインストールしたり、wingetコマンドからインストールできます。
GitHubのプロジェクトページからインストーラーをダウンロードするときは、以下のWebページにアクセスして、最新のMSIパーッケージをダウンロードします。
GitHub - PowerShell/PowerShell: PowerShell for every system!
ダウンロードしたインストーラを実行すると、インストールウィザードが表示され、ウィザードに従えば簡単にインストールできます。
なお、LinuxやmacOSへのインストール方法については、以下の公式サイトで解説されています。
PowerShell を Windows、Linux、macOS にインストールする - PowerShell | Microsoft Learn
PowerShell Coreの使い方
PowerShell Coreの起動
「PowerShell Core」をインストールしたら、スタートメニューのプログラム一覧から起動するか、インストール先「C:\Program Files\PowerShell\バージョン番号\pwsh.exe」にある本体ファイル「pwsh.exe」を実行します。
なお、通常のアプリケーションと同じように、デスクトップやタスクバーにショートカットを作成しておけば素早く起動できます。
コマンドレットの実行
PowerShell Coreのコマンドレットの多くは、Windows PowerShellと似ているため、Windows PowerShellを利用したことがあるなら、それほど迷わず利用できます。
コマンドレットや関数のヘルプは、Windows PowerShellと同じように「Get-Help」コマンドレットで確認できます。
PS C:\> Get-Help <コマンドレットや関数>
また、上記コマンドに「-Online」オプションを付けて実行すると、Webブラウザが起動して最新のオンラインマニュアルを確認できます。
インターネットで直接調べたい場合は「PowerShell Module Browser」ページで、コマンドレットやエイリアス名を入力して検索します。
PowerShell モジュール ブラウザー - PowerShell | Microsoft Learn
ソースコードの活用
PowerShell Coreは、ソースコードが公開されているので、コマンドレットの詳細な動作を調べたいときなどは、ソースコードを確認することもできます。
あとがき
Microsoftが今後注力するのはPowerShell Coreなのは間違いないようですが、まだまだ発展途上であることから、Windows PowerShellからの移行は、あまり進んでいないようです。
ですが、新バージョンの「PowerShell 7」では「Windows PowerShell」を完全に置き換えることを目指して開発されているそうなので、期待したいところです。