PowerShell で Windows のバージョンを取得する方法

  1. PowerShell で [System.Environment] クラスを使用して Windows バージョンを取得する
  2. PowerShell で Get-ComputerInfo コマンドレットを使用して Windows バージョンを取得する
  3. PowerShell で Get-WMIObject コマンドレットを使用して Windows バージョンを取得する
  4. PowerShell で systeminfo レガシーコマンドを使用して Windows バージョンを取得する
  5. PowerShell で Get-CimInstance レガシーコマンドを使用して Windows バージョンを取得する
  6. 結論
PowerShell で Windows のバージョンを取得する方法

コンピュータにインストールされている Windows オペレーティングシステムを確認する最も簡単な方法は、winver コマンドを使用することです。Windows PowerShell では、Windows バージョンオペレーティングシステムを取得するための複数の方法がありますので、この記事ではそれらをここで説明します。

この目的を達成するためのさまざまな方法が存在し、それぞれに利点と使用ケースがあります。この記事では、PowerShell で Windows バージョンを取得するための 5つの異なるアプローチを探ります。

各方法は Windows 環境に対して独自の洞察を提供し、管理者やスクリプターに本質的なシステム情報を収集するための多用途なツールを提供します。

PowerShell で [System.Environment] クラスを使用して Windows バージョンを取得する

PowerShell では、[Environment]::OSVersion.Version メソッドを使用して Windows バージョンに関する詳細情報を取得できます。このメソッドは、Environment クラスの OSVersion プロパティの静的 Version プロパティにアクセスし、オペレーティングシステムバージョンに簡単にアクセスする方法を提供します。

例コード:

[System.Environment]::OSVersion.Version

[Environment]::OSVersion.Version を使用すると、Environment クラスの OSVersion プロパティにアクセスして、オペレーティングシステム環境に関する情報を取得しています。具体的には、このオブジェクトの Version プロパティを取得しており、これは Windows バージョンに関する詳細を含んでいます。

このメソッドは、オペレーティングシステムのバージョンをメジャーおよびマイナーバージョン番号の組み合わせとして表す System.Version オブジェクトを返します。このオブジェクトの Major および Minor プロパティにアクセスすることで、これらのバージョン番号を抽出し、PowerShell スクリプトで必要に応じて使用できます。

出力:

PowerShell で Windows のバージョンを見つける - 出力 1

現在使用している Windows バージョンオペレーティングシステムを照合するために、公式 Microsoft ドキュメントを参照することができます。

ただし、これを使用している最新のオペレーティングシステム(Windows 11 や Windows Server 2019 など)を使用している場合は、メジャーバージョン 10 が表示され、Windows 10 および Windows Server 2016 を示すため、正しいバージョンは表示されません。したがって、上記のコマンドは Windows 10 および Windows Server 2016 を実行している場合にのみ正しい値を表示します。

PowerShell で Get-ComputerInfo コマンドレットを使用して Windows バージョンを取得する

PowerShell では、Get-ComputerInfo コマンドレットを使用して Windows オペレーティングシステムに関する詳細情報を簡単に取得できます。このコマンドレットは、オペレーティングシステム名、バージョン、およびハードウェア抽象化層(HAL)を含むローカルコンピュータシステムに関する情報を収集します。

例コード:

Get-ComputerInfo | Select-Object OSName, OSVersion, OsHardwareAbstractionLayer

Get-ComputerInfo コマンドレットを使用し、その後 Select-Object にパイプすることで、ローカルコンピュータシステムに関する包括的な情報を取得しています。OSNameOSVersion、および OsHardwareAbstractionLayer のプロパティを指定することで、オペレーティングシステムの名前、バージョン、およびハードウェア抽象化層(HAL)に関する具体的な詳細を選択しています。

この方法により、Windows 環境に関する詳細情報を収集でき、さまざまな管理タスク、トラブルシューティングまたはスクリプティング目的で役立ちます。これらのプロパティにアクセスして表示することで、Windows システムの構成や仕様に関する洞察を得て、システム管理およびメンテナンスを支援します。

出力:

PowerShell で Windows のバージョンを見つける - 出力 2

PowerShell で Get-WMIObject コマンドレットを使用して Windows バージョンを取得する

Windows 管理インストゥルメンテーション(WMI)クラスを使用して、オペレーティングシステムの現在のバージョンを確認することもできます。

例コード:

(Get-WmiObject -class Win32_OperatingSystem).Caption

(Get-WmiObject -class Win32_OperatingSystem).Caption を実行することで、オペレーティングシステムに関する情報を取得するために、Get-WmiObject コマンドレットを使用して Windows 管理インストゥルメンテーション(WMI)をクエリしています。具体的には、オペレーティングシステムに関する詳細を保持する Win32_OperatingSystem クラスをターゲットにしています。

結果のオブジェクトの .Caption プロパティにアクセスすることで、オペレーティングシステムの名前を取得しています。この方法は、PowerShell を介して Windows バージョン情報を直接取得するシンプルなアプローチを提供し、さまざまなスクリプトや管理タスクに便利です。

出力:

{CODE_BLOCK_8} Windows のバージョンを PowerShell で見つける - 出力 3

[System.Environment] クラスや Get-ComputerInfo コマンドレットとは異なり、WMI オブジェクトは最新のバージョンの Windows オペレーティングシステムを使用している場合に正しく表示します。

PowerShell で systeminfo レガシーコマンドを使用して Windows バージョンを取得する

systeminfo レガシーコマンドを Windows PowerShell コマンドレットラッパーとともに使用して、詳細なオペレーティングシステムバージョンを出力することもできます。systeminfo を PowerShell コマンドレットと組み合わせることで、Windows バージョンに関する特定の情報を抽出できます。

systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List

systeminfo /fo csv コマンドを実行すると、CSV 形式で詳細なシステム情報を収集するために systeminfo コマンドラインツールを利用しています。

その後、CSV 形式の出力を PowerShell オブジェクトに変換するために ConvertFrom-Csv を使用します。結果を Select にパイプして、特に OSSystem、および Hotfix から始まるプロパティをフィルタリングしています。

最後に、情報をフォーマットリスト表示するために Format-List を適用します。

出力:

PowerShell で Windows バージョンを見つける - 出力 4

PowerShell で Get-CimInstance レガシーコマンドを使用して Windows バージョンを取得する

このコマンドレットは、PowerShell の共通情報モデル(CIM)インフラストラクチャの一部であり、標準化された方法でシステム情報をクエリできます。Win32_OperatingSystem クラスをターゲットにすることで、オペレーティングシステムの名前やバージョンなどのプロパティにアクセスできます。

(Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version

(Get-CimInstance Win32_OperatingSystem) | Select-Object Caption, Version を実行することで、Win32_OperatingSystem クラスから Windows オペレーティングシステムに関する情報を取得するために Get-CimInstance コマンドレットを利用しています。このクラスはオペレーティングシステムのさまざまなプロパティを表します。結果を Select-Object にパイプすることで、オペレーティングシステムの名前である CaptionVersion のプロパティを指定しています。

出力:

PowerShell で Windows バージョンを確認する - 出力 5

結論

PowerShell で Windows バージョンを取得することは、システム管理やスクリプティングタスクにとって重要です。私たちは、これを達成するための 5つの異なる方法を探りました:[System.Environment] クラスを使用すること、Get-ComputerInfo コマンドレットを使用すること、Get-WmiObject コマンドレットを使用すること、systeminfo コマンド、そして Get-CimInstance コマンドレットを使用することです。

各アプローチは異なる利点を提供し、特定の要件やシナリオに応じて選択されることがあります。[System.Environment] クラスを通じてバージョンに直接アクセスすることや、Get-ComputerInfoGet-CimInstance を使用して詳細なシステム情報をクエリすることなど、PowerShell は Windows 環境を効果的に管理および監視するための堅牢なツールを提供します。

チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn