インストールされているPowerShellのバージョンを確認する方法は?
この記事では、PowerShellのバージョンと、Windows PowerShell
とPowerShell Core
、およびローカルまたはリモートコンピューターにインストールされているPowerShellのバージョンを確認する方法。
WindowsPowerShellとPowerShellCoreの履歴とバージョン
PowerShellは、Windows 7SP1およびWindowsServer 2008 R2SP1以降のすべてのWindowsバージョンにデフォルトでインストールされます。次の表に、すべてのPowerShellバージョンのリストを示します。
PSバージョン | 注 |
PowerShell 1.0 | Windows Server 2003SP1およびWindowsXPに手動でインストールできます |
PowerShell 2.0 | Windows Server 2008R2およびWindows7 |
PowerShell 3.0 | Windows8およびWindowsServer 2012 |
PowerShell 4.0 | Windows8.1およびWindowsServer 2012 R2 |
PowerShell 5.0 | Windows 10 RTMにプリインストールされ、WindowsUpdateを介して5.1に自動的に更新されます |
PowerShell 5.1 | Windows 10に組み込まれています(ビルド1709以降)およびWindowsServer 2016 |
PowerShell Core6.0および6.1 | これは、インストールされる可能性のある次のクロスプラットフォームPowerShellバージョン(.NET Coreに基づく)です。サポートされているすべてのWindowsバージョン、およびMacOS、CentOS、RHEL、Debian、Ubuntu、openSUSE |
PowerShell Core 7.0 | これは2020年3月にリリースされた最新のPowerShellバージョンです(.NET Core2.xの代わりに.NETCore 3.1が使用されています) |
過去2年間、Microsoftは従来のWindows PowerShellの開発を一時停止し(バグ修正とセキュリティ更新のみがリリースされています)、オープンソースのクロスプラットフォームPowerShellCoreに重点を置いていることに注意してください。
WindowsPowerShellとPowerShellCoreの違いは何ですか?
- WindowsPowerShellは.NETFrameworkに基づいています(たとえば、PowerShell5には.NETFrameworkv4.5が必要です。インストールされています)。 PowerShellCoreは.NetCoreに基づいています。
- WindowsPowerShellはWindowsオペレーティングシステムでのみ機能しますが、PowerShell Coreはクロスプラットフォームであり、Linuxでも機能します。
- PowerShellCoreはWindows PowerShellに完全には準拠していませんが、Microsoftは以前のPSコマンドレットおよびスクリプトとの下位互換性の改善に取り組んでいます。 (PowerShell Coreに移行する前に、古いPS1スクリプトをテストすることをお勧めします)。 PowerShell Core 7は、WindowsPowerShellとの最高の互換性を提供します。
- PowerShellISEエディターを使用してPowerShellCoreスクリプトを編集することはできません(ただし、Visual Studioコードは使用できます)。
- WindowsPowerShell以降は開発されていないため、PowerShellCoreへの移行を開始することをお勧めします。
コンソールからPowerShellバージョンを取得する方法
どれを見つける最も簡単な方法PowerShellのバージョンがコンピューターにインストールされている場合は、次のコマンドを使用します:
host
バージョンプロパティ値を確認します。
または
$PSVersionTable
PowerShellのバージョン値のみを取得できます:
$PSVersionTable.PSVersion.major
(この例ではPSVersionを取得しましたクリーンウィンで2.0 dows Server 2008 R2)
$ PSVersionTableコマンドは、さまざまなオペレーティングシステムのPowerShellCoreで正しく機能します。
レジストリからインストールされているPowerShellのバージョンを確認することもできます。これを行うには、Get-ItemPropertyコマンドレットを使用してレジストリキーHKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
のPowerShellVersionパラメーターの値を取得します。
Windows Server 2008 R2 / Windowsの場合7、別のregキーでレジストリパラメーターの値を取得できます:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name "PowerShellVersion").PowerShellVersion
インストールされているPowerShellCoreバージョンを取得するには、次のコマンドを使用します。
リモートコンピューター上のPowerShellのバージョンを確認する
ToリモートホストのPowerShellバージョンを確認するか、$ PSVersionTable環境変数の値を使用するか、レジストリから直接情報を取得します。他のメソッドは誤ったデータを返す可能性があります。
Invoke-Commandコマンドレットを使用したPowerShellRemotingを介して、リモートコンピューターにインストールされているPowerShellバージョンを取得できます。