[Part.2]インストール可能なPowerShellのバージョンと要件を確認!

このページは、「PowerShell入門」基礎知識編Part.2です。

今回は、 PowerShellのバージョンの整理や概要の説明の中でも軽く触れた「.NET 」との対応関係について解説します。あなたの環境で使えるバージョンは何か、OSS版を使用するためにはどうすればいいか等を学んでいきましょう。

このページの想定読者
  1. PowerShellって私のPCで使えるの?
  2. PowerShellのバージョンいっぱいあるけど何が違う?
  3. OSS化したPowerShellについて知りたい!

PowerShellの種類を簡単整理

あなたが学ぼうとしているPowerShellには、大きく3つの種類(呼び方)あります。

Windows PowerShell

「Windows Server 2008 R2 / Windows 7」以降のWindows系OSに最初からインストール(プリインストール)されているバージョンのPowerShellです。

動作にはマイクロソフトが開発したアプリケーション開発・実行環境である「.NET Framework」が必要とされ、Windows環境上で使用することを想定されています。

Windows PoweShell 5.1ではDesktopとCoreの2つのエディションが提供されました。Desktopエディションでは従来通り「.NET Framework」が動作要件になっていますが、Coreエディションでは新たに「.NET Core」が動作要件となっています。

Windowsを使っていて標準でインストールされているPoweShellをしているのであれば、基本的に「Windows PowerShell」を使っていることになります。

PowerShell Core

PoweShell CoreはCoreエディションを拡張しOSS化(オープンソース化)を目的としたPoweShellです。

Coreエディション同様に「.NET Core」が動作要件となっており、Linux/OS Xといったクロスプラットフォームでの実行が可能になりました。

PoweShell Core以降のOSS化されたPoweShellはMITライセンスで公開されています。

Coreエディションは”nano server” や” Windows IoT” 向けのエディションとしてリリースされ、以降のPoweShell Coreはさらに拡張してクロスプラットフォームを目的としています。

PowerShell

枝分かれしていた2つのエディションを統一し、”Windows”や”Core”といった文字をなくし「PoweShell」といったシンプルな名前に変更されました。

Coreエディションでは一部使用できないDesktopエディションのコマンドレットやバグの多くが改善し、以降の開発はPoweShellへと一本化されることとなりました。

現在普及しているWindows 10などにはWindows PoweShell 5.1が標準搭載されていますが、追加でインストールすることでPoweShellを使用することができます。

MEMO

幻のコードネーム『Monad』

2003年9月の開発初期は今とは違い「Monad」というコードネームがつけられ、2006年4月の正式リリースに合わせて正式名称「PoweShell」というプログラミング言語となりました。

以降のコンテンツでは明示的にエディションを区別したい場合を除き”PoweShell”と記載します!

PoweShellのバージョンと対応を整理!

標準でインストールされているため環境構築の必要がないPoweShellですが、「最新のものが使いたい!」という方もいらっしゃると思います。

まずは、PoweShellのバージョンや必要となる.NETをチェックしていきましょう!

Powershellのバージョン一覧

バージョンエディションリリース
Windows PoweShell 1.02006年4月
Windows PoweShell 2.02009年10月
Windows PoweShell 3.02012年9月
Windows PoweShell 4.02013年10月
Windows PoweShell 5.02015年12月
Windows PoweShell 5.1Desktop2016年8月
Windows PoweShell 5.1Core2016年8月
PoweShell Core 6.02018年1月
PoweShell Core 6.12018年9月
PoweShell Core 6.22019年3月
PoweShell 7.02020年3月
PoweShell 7.12020年11月
PoweShell 7.2 ~開発中
※2021/5/31現在情報

OSS化以降の開発はGitHub上で管理され、「Microsoft モダン ライフサイクル ポリシー」に従ってリリース/アップデートされています。最新のバージョン情報を確認する場合は以下のリンク先をご覧ください。

Powershellと.NETの対応一覧

PoweShellにはそれぞれにバージョンで必要な.NETがあり、使用したいバージョンにあわせて.NETの環境を用意する必要があります。

PSバージョン.NET
Windows PoweShell 1.0.NET Framework 2.0
Windows PoweShell 2.0.NET Framework 3.5 ※GUI操作の場合
Windows PoweShell 3.0.NET Framework 4
Windows PoweShell 4.0.NET Framework 4.5
Windows PoweShell 5.0.NET Framework 4.5
Windows PoweShell 5.1.NET Framework 4.5
Windows PoweShell 5.1.NET Core 1.0
PoweShell Core 6.0.NET Core 2.0
PoweShell Core 6.1.NET Core 2.1
PoweShell Core 6.2.NET Core 2.2
PoweShell 7.0.NET Core 3.1
PoweShell 7.1.NET 5
PoweShell 7.2 ~.NET 5以降
※2021/5/31現在情報

現在はWindows 10以前のOSはサポートされておらず、基本的にはデフォルトでWindows PoweShell 5.1が使用できると思うので、Windows PoweShellを使用するだけならば、.NETの環境を特に意識する必要はありません。

Windowsのバージョン別対応

上記のPowerShellと.NETのバージョン対応から、各Windows OSにインストール可能なPowerShellをまとめるとこのようになります。

OSデフォルト追加導入可能
Windows Server 2019
Windows Server 2016
Windows 10
Windows PowerShell 5.1PowerShell 7.0 ~
Windows Server 2012 R2
Windows 8.1
Windows PowerShell 4.0PowerShell 7.0 ~
Windows PowerShell 5.0/5.1
Windows 2012
Windows 8
Windows PowerShell 3.0PowerShell 7.0 ~
Windows PowerShell 4.0/5.0/5.1
WindowsServer 2008 R2
Windows 7 SP1
Windows PowerShell 2.0PowerShell 7.0 ~
Windows PowerShell 3.0/4.0/5.0/5.1
Windows Server 2008 SP2Windows PowerShell 1.0Windows PowerShell 2.0/3.0
※2021/5/31現在情報

Windows10を使用していて、最新のPowerShellを使いたい場合はOSS版のPowerShell 7.xを追加でインストールすることになります。

クロスプラットフォーム対応表

冒頭で述べた通り、PowerShellはOSS化しクロスプラットフォームに対応しています。OS別の対応状況はこのようになっています。

OSLTSstablepreviewインストール形式
Windows (x64)
Windows (x86)
.msi
Ubuntu 20.04.deb
Ubuntu 18.04
Ubuntu 16.04
.deb
Debian 11.deb
Debian 10
Debian 9
.deb
CentOS 8
CentOS 7
.rpm
RHEL 7.rpm
openSUSE 42.3.rpm
Fedora 30.rpm
macOS 10.13+.pkg
※2021/5/31現在情報
MEMO

クロスプラットフォーム版の種類説明

  1. LTS版
    • .NETサポート期限に合わせた長期サポートバージョン
  2. stable版
    • 安定リリースバージョン
  3. preview版
    • 事前検証するためのPreviewバージョン

古いWindosのPoweShellをアップデートする方法

OSSのPoweShellをインストールする方法

まとめ

「PowerShell入門」基礎知識編Part.2はいかがでしたか?

表がいっぱい出てきて混乱したかもしれませんが、PowerShelの変遷を簡単に表すと

powershell変遷

のようになっています。

あなたの環境がWindowsであれば「Windows PowerShell 5.1」、OSS環境に挑戦したい場合は「Powershell 7.x」を使うことになると思うので、自分が使う環境はどうしていきたいか今のうちに検討しておきましょう!

チェシャ男
チェシャ男

疑問点等があれば、お気軽にコメント・お問い合わせください!

次の「PowerShell入門」基礎知識編Part.3では、実際にPowerShellを起動する方法を学んでいきます。

※「PowerShell入門」基礎知識編Part.3:準備中

6 COMMENTS

パワシェル子

こんばんは&はじめまして。
プリンタのセキュリティ設定をバッチとか使って自動変更せよとの命が下り、色々調べたところ、PowerShellで実現できそうな事が分かり、作り始めたのですが、難しすぎて挫折しそうです…。
そんな時にこちらのサイトに辿り着きました!一からちゃんと勉強して使いこなしたいです!是非続きをお願いします!
チェシャ男さんは、どんな風にマスターされたのですか?良かったら教えて下さい。

返信する
チェシャ 男

>>パワシェル子様

お返事遅れてしまいごめんなさい((+_+))
楽しみにしてくださっているのに続きが書けずにすみません…

チェシャ男自身、まだまだマスターしているわけではないのですが、
しいて言うなら「まずは動くソースを見る」事から始めました!

真似するとこから初めてだんだんと覚えていきましたよ!

返信する
ゆっけ

異動でインフラSEとなり、PowerShellを用いた開発を行います。
初心者すぎてわからないことが多いですが、こちらのサイトで勉強させていただきたきます!
続きを楽しみにしてます!

返信する
チェシャ 男

コメントありがとうございます。
なかなかPowerShellを触る時間が作れずすみません…

ちなみに入門編として知りたい内容等ございますか?(^^♪

返信する
javaプログラマ見習い

すごく面白かったので、是非続きを出してもらえるとうれしいです!
powershellでの作業の便利化が捗りました!
ありがとうございました

返信する
チェシャ 男

コメントありがとうございます。
時間を作って頑張って続き書きます(・ω・`)
PowerShellのPG中に詰まったことがあればお気軽にメールしてくださいね!

返信する

コメントを残す

メールアドレスが公開されることはありません。