Powershellでレジストリを参照してWindowsのバージョンを取得してみる

コンピュータ

はじめに

以前Powershellのバージョンを確認しましたが、同様にWindowsのバージョンも確認してたいと思います。
Powershellのバージョンの確認方法
はじめにPowershellスクリプトがバージョン違いにより動かない場合、まずPowershellスクリプトを実行している環境のバージョンを知る必要があります。Windowsごとのデフォルトバージョン Windows7 2.0 Window...

Windowsの詳細なバージョン情報を取得するため、今回のスクリプトはレジストリを参照しています。

文字列に改行を含める

今回のスクリプトはHTMLで出力するように作成していますが、HTMLを見やすくするために改行を含めています。
Pwershellの文字列に改行コードとしてCRLFを含める場合以下の文字列で表現します

`r`n

PowerShellスクリプトを初めて実行する場合

PowerShellスクリプトの実行を許可してください。
Powershellのps1ファイルを実行する方法
PowersehllをはじめるにあたりWindowsのコマンドラインインターフェースであるPowershellはコマンドレットと言われる命令をテキストファイルに記述したスクリプトファイルを実行することが出来ます。Powershellはその名...

スクリプト

<#
  Powershellの実行環境の情報を取得するスクリプト
  
  ファイル名:Get-WinVer.ps1
#>


# カレントバージョン
$CurrentVersionOld = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name CurrentVersion).CurrentVersion

$text = "

スクリプトの実行環境

`r`n" # プロダクト名 $ProductName = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName $text = $text + "
プロダクト名
" + $ProductName +"
`r`n" if ($CurrentVersionOld -eq 10.0) { $ReleaseID = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ReleaseID).ReleaseID $text = $text + "
バージョン
" + $ReleaseID +"
`r`n" } # ビルド番号 $CurrentBuild = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name CurrentBuild).CurrentBuild $UBR = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name UBR).UBR $text = $text + "
ビルド番号
" + $CurrentBuild + "." + $UBR +"
`r`n" # Powershellのバージョン $text = $text + "
Powershellバージョン
" + $PSVersionTable.PSVersion +"
`r`n" # .NET Frameworkのバージョン $release = (get-item 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').GetValue("Release") $result = switch -Exact ($release) { "378389" {".NET Framework 4.5"} "378675" {".NET Framework 4.5.1 (Windows 8.1 Or Windows Server 2012 R2)"} "378758" {".NET Framework 4.5.1 (Windows 8 Or Windows 7 SP1 Or Windows Vista SP2)"} "379893" {".NET Framework 4.5.2"} "393295" {".NET Framework 4.6 (Windows 10)"} "393297" {".NET Framework 4.6"} "394254" {".NET Framework 4.6.1 (Windows 10 November Update)"} "394271" {".NET Framework 4.6.1"} "394802" {".NET Framework 4.6.2 (Windows 10 Anniversary Update Or Windows Server 2016)"} "394806" {".NET Framework 4.6.2"} "460798" {".NET Framework 4.7 (Windows 10 Creators Update)"} "460805" {".NET Framework 4.7"} "461308" {".NET Framework 4.7.1 (Windows 10 Fall Creators Update)"} "461310" {".NET Framework 4.7.1"} "461808" {".NET Framework 4.7.2 (Windows 10 April 2018 Update )"} "461814" {".NET Framework 4.7.2"} } $text = $text + "
.NET Framework
" + $result +"
`r`n" # 閉じる $text = $text + "
" echo $text

スクリプトの実行環境

プロダクト名
Windows 7 Professional
ビルド番号
7601.23934
Powershellバージョン
5.1.14409.1005
.NET Framework
.NET Framework 4.7

スポンサーリンク


コメント