Operations Lab.

Archive for 6月 2017

PowerShell で OS のバージョンを取得する簡単な方法

leave a comment »

比較的新しい PowerShell (Windows 10 1607 や Windows Server 2016 以降)には Get-ComputerInfo コマンドがありますので、OS バージョンを簡単に取得できます。

PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.17134.81
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17134.81
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1


PS C:\> Get-ComputerInfo -Property WindowsBuildLabEx

WindowsBuildLabEx
-----------------
17134.1.amd64fre.rs4_release.180410-1804

ただ、Get-ComputerInfoProperty を指定しても、全ての情報を取得しに行きますので、コマンドの実行完了までかなり時間がかかります。

コマンドプロンプトの ver コマンドの方が、軽くてお手軽です。(オブジェクトではなく文字列として取得することになるので、多少の加工は必要ですが。)

PS C:\> cmd /C ver

Microsoft Windows [Version 10.0.17134.81]

ちなみに、Get-ComputerInfo で Property を指定した場合、コマンドの返り値は ComputerInfo ではなく、フィルターされた PSCustomObject になります。

PS C:\> (Get-ComputerInfo).GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    ComputerInfo                             System.Object


PS C:\> (Get-ComputerInfo -Property WindowsBuildLabEx).GetType()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     False    PSCustomObject                           System.Object

Written by kazu

2017/06/12 at 05:53

カテゴリー: PowerShell, Windows Client, Windows Server

Tagged with