このページは、「PowerShell入門」基礎知識編Part.2です。
今回は、 PowerShellのバージョンの整理や概要の説明の中でも軽く触れた「.NET 」との対応関係について解説します。あなたの環境で使えるバージョンは何か、OSS版を使用するためにはどうすればいいか等を学んでいきましょう。
- PowerShellって私のPCで使えるの?
- PowerShellのバージョンいっぱいあるけど何が違う?
- OSS化した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を使用することができます。
以降のコンテンツでは明示的にエディションを区別したい場合を除き”PoweShell”と記載します!
標準でインストールされているため環境構築の必要がないPoweShellですが、「最新のものが使いたい!」という方もいらっしゃると思います。
まずは、PoweShellのバージョンや必要となる.NETをチェックしていきましょう!
Powershellのバージョン一覧
バージョン | エディション | リリース |
---|---|---|
Windows PoweShell 1.0 | – | 2006年4月 |
Windows PoweShell 2.0 | – | 2009年10月 |
Windows PoweShell 3.0 | – | 2012年9月 |
Windows PoweShell 4.0 | – | 2013年10月 |
Windows PoweShell 5.0 | – | 2015年12月 |
Windows PoweShell 5.1 | Desktop | 2016年8月 |
Windows PoweShell 5.1 | Core | 2016年8月 |
PoweShell Core 6.0 | – | 2018年1月 |
PoweShell Core 6.1 | – | 2018年9月 |
PoweShell Core 6.2 | – | 2019年3月 |
PoweShell 7.0 | – | 2020年3月 |
PoweShell 7.1 | – | 2020年11月 |
PoweShell 7.2 ~ | – | 開発中 |
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以降 |
現在は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.1 | PowerShell 7.0 ~ |
Windows Server 2012 R2 Windows 8.1 | Windows PowerShell 4.0 | PowerShell 7.0 ~ Windows PowerShell 5.0/5.1 |
Windows 2012 Windows 8 | Windows PowerShell 3.0 | PowerShell 7.0 ~ Windows PowerShell 4.0/5.0/5.1 |
WindowsServer 2008 R2 Windows 7 SP1 | Windows PowerShell 2.0 | PowerShell 7.0 ~ Windows PowerShell 3.0/4.0/5.0/5.1 |
Windows Server 2008 SP2 | Windows PowerShell 1.0 | Windows PowerShell 2.0/3.0 |
Windows10を使用していて、最新のPowerShellを使いたい場合はOSS版のPowerShell 7.xを追加でインストールすることになります。
クロスプラットフォーム対応表
冒頭で述べた通り、PowerShellはOSS化しクロスプラットフォームに対応しています。OS別の対応状況はこのようになっています。
OS | LTS | stable | preview | インストール形式 |
---|---|---|---|---|
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 |
「PowerShell入門」基礎知識編Part.2はいかがでしたか?
表がいっぱい出てきて混乱したかもしれませんが、PowerShelの変遷を簡単に表すと
のようになっています。
あなたの環境がWindowsであれば「Windows PowerShell 5.1」、OSS環境に挑戦したい場合は「Powershell 7.x」を使うことになると思うので、自分が使う環境はどうしていきたいか今のうちに検討しておきましょう!
疑問点等があれば、お気軽にコメント・お問い合わせください!
次の「PowerShell入門」基礎知識編Part.3では、実際にPowerShellを起動する方法を学んでいきます。
※「PowerShell入門」基礎知識編Part.3:準備中
こんばんは&はじめまして。
プリンタのセキュリティ設定をバッチとか使って自動変更せよとの命が下り、色々調べたところ、PowerShellで実現できそうな事が分かり、作り始めたのですが、難しすぎて挫折しそうです…。
そんな時にこちらのサイトに辿り着きました!一からちゃんと勉強して使いこなしたいです!是非続きをお願いします!
チェシャ男さんは、どんな風にマスターされたのですか?良かったら教えて下さい。
>>パワシェル子様
お返事遅れてしまいごめんなさい((+_+))
楽しみにしてくださっているのに続きが書けずにすみません…
チェシャ男自身、まだまだマスターしているわけではないのですが、
しいて言うなら「まずは動くソースを見る」事から始めました!
真似するとこから初めてだんだんと覚えていきましたよ!
異動でインフラSEとなり、PowerShellを用いた開発を行います。
初心者すぎてわからないことが多いですが、こちらのサイトで勉強させていただきたきます!
続きを楽しみにしてます!
コメントありがとうございます。
なかなかPowerShellを触る時間が作れずすみません…
ちなみに入門編として知りたい内容等ございますか?(^^♪
すごく面白かったので、是非続きを出してもらえるとうれしいです!
powershellでの作業の便利化が捗りました!
ありがとうございました
コメントありがとうございます。
時間を作って頑張って続き書きます(・ω・`)
PowerShellのPG中に詰まったことがあればお気軽にメールしてくださいね!