PowerShell で Windows のバージョンを取得する方法
-
PowerShell で
[System.Environment]
クラスを使用して Windows バージョンを取得する -
PowerShell で
Get-ComputerInfo
コマンドレットを使用して Windows バージョンを取得する -
PowerShell で
Get-WMIObject
コマンドレットを使用して Windows バージョンを取得する -
PowerShell で
systeminfo
レガシーコマンドを使用して Windows バージョンを取得する -
PowerShell で
Get-CimInstance
レガシーコマンドを使用して 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 スクリプトで必要に応じて使用できます。
出力:
現在使用している 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
にパイプすることで、ローカルコンピュータシステムに関する包括的な情報を取得しています。OSName
、OSVersion
、および OsHardwareAbstractionLayer
のプロパティを指定することで、オペレーティングシステムの名前、バージョン、およびハードウェア抽象化層(HAL)に関する具体的な詳細を選択しています。
この方法により、Windows 環境に関する詳細情報を収集でき、さまざまな管理タスク、トラブルシューティングまたはスクリプティング目的で役立ちます。これらのプロパティにアクセスして表示することで、Windows システムの構成や仕様に関する洞察を得て、システム管理およびメンテナンスを支援します。
出力:
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 バージョン情報を直接取得するシンプルなアプローチを提供し、さまざまなスクリプトや管理タスクに便利です。
出力:
[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
にパイプして、特に OS
、System
、および Hotfix
から始まるプロパティをフィルタリングしています。
最後に、情報をフォーマットリスト表示するために Format-List
を適用します。
出力:
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
にパイプすることで、オペレーティングシステムの名前である Caption
と Version
のプロパティを指定しています。
出力:
結論
PowerShell で Windows バージョンを取得することは、システム管理やスクリプティングタスクにとって重要です。私たちは、これを達成するための 5つの異なる方法を探りました:[System.Environment]
クラスを使用すること、Get-ComputerInfo
コマンドレットを使用すること、Get-WmiObject
コマンドレットを使用すること、systeminfo
コマンド、そして Get-CimInstance
コマンドレットを使用することです。
各アプローチは異なる利点を提供し、特定の要件やシナリオに応じて選択されることがあります。[System.Environment]
クラスを通じてバージョンに直接アクセスすることや、Get-ComputerInfo
や Get-CimInstance
を使用して詳細なシステム情報をクエリすることなど、PowerShell は Windows 環境を効果的に管理および監視するための堅牢なツールを提供します。
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn