インストールされているPowerShellのバージョンを確認する方法は?
この記事では、PowerShellのバージョンと、Windows PowerShell
の違いについて説明します。 およびPowerShell Core
、およびローカルまたはリモートコンピューターにインストールされているPowerShellのバージョンを確認する方法。
WindowsPowerShellおよびPowerShellCoreの履歴とバージョン
PowerShellは、Windows7SP1およびWindowsServer2008R2SP1以降のすべてのWindowsバージョンにデフォルトでインストールされます。次の表に、すべてのPowerShellバージョンのリストを示します。
PSバージョン | 注 |
PowerShell 1.0 | Windows Server2003SP1およびWindowsXPに手動でインストールできます |
PowerShell 2.0 | Windows Server2008R2およびWindows7 |
PowerShell 3.0 | Windows8およびWindowsServer2012 |
PowerShell 4.0 | Windows8.1およびWindowsServer2012 R2 |
PowerShell 5.0 | Windows 10 RTMにプレインストールされ、WindowsUpdateを介して5.1に自動的に更新されます |
PowerShell 5.1 | Windows 10(ビルド1709以降)およびWindowsServer2016に組み込まれています |
PowerShellCore6.0および6.1 | これは、サポートされているすべてのWindowsバージョンとMacOS、CentOS、RHEL、Debian、Ubuntu、openSUSEにインストールできる次のクロスプラットフォームPowerShellバージョン(.NET Coreに基づく)です |
PowerShell Core 7.0 | これは2020年3月にリリースされた最新のPowerShellバージョンです(.NETCore2.xの代わりに.NETCore3.1が使用されています) |
過去2年間、Microsoftは従来のWindows PowerShellの開発を一時停止し(バグ修正とセキュリティ更新プログラムのみがリリースされています)、オープンソースのクロスプラットフォーム PowerShell Coreに重点を置いていることに注意してください。 。
WindowsPowerShellとPowerShellCoreの違いは何ですか?
- Windows PowerShell .NET Frameworkに基づいています (たとえば、PowerShell5には.NETFramework v4.5が必要です。インストールされていることを確認してください)。 PowerShellコア .Net Coreに基づいています;
- Windows PowerShellはWindowsオペレーティングシステムでのみ機能しますが、 PowerShell Core クロスプラットフォームです Linuxでも動作します;
- PowerShellCoreはWindowsPowerShellに完全には準拠していませんが、Microsoftは以前のPSコマンドレットおよびスクリプトとの下位互換性の向上に取り組んでいます。 (PowerShell Coreに移行する前に、古いPS1スクリプトをテストすることをお勧めします)。 PowerShell Core 7は、WindowsPowerShellとの最高の互換性を提供します。
- PowerShellISEエディターを使用してPowerShellCoreスクリプトを編集することはできません(ただし、Visual Studio Codeは使用できます)。
- Windows PowerShellは開発されていないため、PowerShellCoreへの移行を開始することをお勧めします。
コンピューターにインストールされているPowerShellのバージョンを確認する最も簡単な方法は、次のコマンドを使用することです。
host
Versionプロパティ値を確認してください。
次のスクリーンショットは、Windows Server 2016のように、PowerShell5.1がデフォルトでインストールされているWindows10で作成されたものです。
または
$PSVersionTable
PowerShellのバージョン値のみを取得できます:
$PSVersionTable.PSVersion.major
(この例では、クリーンなWindows Server 2008R2でPSVersion2.0を入手しました)
$ PSVersionTableコマンドは、さまざまなオペレーティングシステムのPowerShellCoreで正しく機能します。
レジストリから、インストールされているPowerShellのバージョンを確認することもできます。これを行うには、レジストリキーHKLM\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
でPowerShellVersionパラメーターの値を取得します。 Get-ItemPropertyコマンドレットの使用:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
上記の方法は、Windows Server 2012 /Windows8以降で機能します。
Windows Server 2008 R2 / Windows 7では、レジストリパラメータの値を別のregキーで取得できます。
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
インストールされているPowerShellCoreバージョンを取得するには、次のコマンドを使用します。
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShellCore\InstalledVersions* -Name 'SemanticVersion').SemanticVersion
リモートホストでPowerShellのバージョンを確認するには、 $ PSVersionTableの値を使用します 環境変数またはレジストリから直接情報を取得します。他のメソッドは誤ったデータを返す可能性があります。
Invoke-Command を使用したPowerShellRemotingを介して、PowerShellバージョンをリモートコンピューターにインストールできます。 コマンドレット:
Invoke-Command -ComputerName mun-dc01 -ScriptBlock {$PSVersionTable.PSVersion} -Credential $cred
Major Minor Build Revision PSComputerName ----- ----- ----- -------- -------------- 5 1 14393 3383 mun-dc01
次のスクリプトを使用して、複数のコンピューターにインストールされているPowerShellバージョンを取得できます(リモートコンピューターのリストはプレーンテキストファイルとして指定する必要があります):
Invoke-Command -ComputerName (Get-Content C:\PS\host_list.txt) -
を選択します
ScriptBlock{$PSVersionTable.PSVersion} | Select PSComputerName, @{N="PS Version";E={$_.Major}}
または、Get-ADComputerを介してドメインコンピューターのリストを取得し、それらのPowerShellバージョンをリモートで確認できます。
$adcomputer=(Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"' -SearchBase ‘OU=servers,OU=Munich,dc=woshub,dc=com’ ).Name
Invoke-Command-ComputerName $adcomputer -Scriptblock{$PSVersionTable.psversion} -ErrorAction SilentlyContinue
PowerShell.exe -version 3
特定のPSバージョンのコマンドレットまたは機能を使用するスクリプトまたはコマンドを実行する場合は、PowerShellのバージョンを知ることが重要な場合があります。スクリプトでインストールされているPowerShellのバージョンを検出し、それに基づいてコマンドレットを使用する場合は、次のPSスクリプトを実行できます。
$ps_version = $PSVersionTable.PSVersion.major
if ( $ps_version -eq "2” )
{
write "You are using Powershell 2.0"
}
elseif ( $ps_version -eq "5" )
{
write " You are using Powershell 5"
}
次の記事では、WindowsでPowerShellのバージョンを更新する方法を見ていきます。
-
Windows 10 で PowerShell のバージョンを確認する方法
多くのユーザーは、Exchange、Lync、および SQL ベースのサーバーも制御できることに加えて、Windows Server でより強力なアクションを実行できるため、コマンド プロンプトの代わりに PowerShell を使用することを好みます。 Windows 10 には既定で PowerShell 5.0 が付属していますが、最新の Windows Update コンポーネントをインストールすると、上位バージョンの Windows PowerShell 5.1 が自動的にインストールされます。このため、Windows 10 PC で PowerShell のバージョンを確認する方法
-
Windows 11 で PowerShell のバージョンをすばやく確認する方法
PowerShell は、Windows 10 と Windows 11 の強力で便利なツールですが、PowerShell を更新する必要がある場合はどうすればよいでしょうか? Windows で使用している PowerShell のバージョンを知っていますか?このガイドに従って、使用している Windows 11 の PowerShell のバージョンを確認する方法を確認してください winget とも呼ばれる Windows パッケージ マネージャー は、コマンド プロンプトまたは PowerShell からアプリをインストール、管理、構成、さらにはアンインストールするために使用できるコ