PowerShell バージョンを取得する
-
$PSVersionTable.PSVersion
プロパティを使用して PowerShell バージョンを取得する -
(Get-Host).Version
プロパティを使用して PowerShell バージョンを取得する -
$host.Version
プロパティを使用して PowerShell バージョンを取得する - レジストリを使用して PowerShell バージョンを取得する
PowerShell は、より複雑なコマンドプロンプトの一種です。多数の準備されたコマンドレットと、さまざまなシナリオで.NET Framework / C# を活用する機能が付属しています。PowerShell ISE は、Windows でスクリプトをデバッグおよび編集するためのグラフィカルユーザーインターフェイスです。PowerShell では、同じことをさまざまな方法で実行できます。したがって、主に、PowerShell のバージョンを取得する方法は 4つあり、それらを以下に示します。
$PSVersionTable.PSVersion
プロパティを使用して PowerShell バージョンを取得する
したがって、最初に調べているメソッドは、自動変数 $PSVersionTable
の PSVersion 属性です。ここでは、PowerShell エンジンを表しています。
PS52> $PSVersionTable.PSVersion
出力:
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
$PSVersionTable
は、PoweShell エンジンのバージョンと PSEdition に関する情報を提供する読み取り専用のハッシュテーブルです。このパラメーターはデスクトップまたはコアのいずれかであり、使用している PowerShell エディションに関する追加情報を提供します。
自動化された変数 $PSVersionTable
は、リモートと同じくらいローカルで正確です。以下の例では、$ PSVersionTable を囲んでいます。スクリプトブロック内の PSVersion をリモートマシンで実行すると、同じバージョンが返されます。
PS> Invoke-Command -ComputerName 11.0.0.3 -ScriptBlock {$PSVersionTable.PSVersion} -Credential $cred
出力:
(Get-Host).Version
プロパティを使用して PowerShell バージョンを取得する
ホストの概念は PowerShell で使用されます。問題を引き起こしているのは PowerShell エンジンではありません。PowerShell ホストは、ターミナルが組み込まれた PowerShell コードエディター/コンソールです。ホストは、PowerShell の完全に自己完結型のエディションを持つことができます。
(Get-Host).Version
を使用すると、PowerShell のバージョンと同様のバージョン番号が出力されます。
PS52> (Get-Host).Version
出力:
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
ただし、組み込み端末の Get-Host のバージョンは必ずしも同じではありません。ホストは通常、PowerShell エンジンのまったく同じエディションを表しますが、常にそうであるとは限りません。Get-Host がローカルコンピューターで呼び出されると、常に同じバージョンが返されますが、リモートシステムでは返されません。
したがって、すべてに Get-Host を使用するのはひどい考えです。
$host.Version
プロパティを使用して PowerShell バージョンを取得する
.$host.Version
は、PowerShell エンジンのバージョンを取得するためのもう 1つの方法です。Get-Host
は、完全に自動化された変数である$ host 変数と同じ結果を提供します。
PS52> $host.Version
出力:
Major Minor Build Revision
----- ----- ----- --------
5 1 19041 1320
これは、Get-host
メソッドと非常によく似ています。
レジストリを使用して PowerShell バージョンを取得する
PowerShell の起動に熱心でない場合にのみ、レジストリを確認することもできます。PowerShell のエディションは、次のようにレジストリキーパスに保存されます HKLM:\SOFTWARE\Microsoft\PowerShell\3\
また値として。Get-ItemProperty
を使用して、このレジストリエントリの PowerShellVersion 値を参照できます。
PS51> (Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
出力:
5.1.19041.1
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.