以下の内容はhttps://tech.guitarrapc.com/entry/2013/10/25/075920より取得しました。


PowerShell で Windows OS Versionを取得する

.NET FrameworksのWindows 8.1バージョンに関して面白い記事があります。

grabacr.nét - Windows 8.1 でバージョン判別するときの注意点

Windows 8 のバージョン 6.2 が帰ってきます。

デバッグ実行している間は正しいバージョン 6.3 が取れるのに、リリース ビルドで実行すると正しいバージョンが取れないという、非常にややこしい状況になります。

さて、PowerShellならどうでしょうか。

そう、取れます。

.NET Frameworksで取得する

記事と同様に .NET Frameworksでやってみましょう。

PS> [System.Environment]::OSVersion

Platform ServicePack Version    VersionString
-------- ----------- -------    -------------
 Win32NT             6.3.9600.0 Microsoft Windows NT 6.3.9600.0

記事にあるここですね。

Operating system version changes in Windows 8.1 and Windows Server 2012 R2 http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074.aspx

That means that while you can still call the APIs, if your app does not specifically target Windows 8.1, you will get Windows 8 versioning (6.2.0.0).

はい、良かったやったね!

Cmdlet で取得する

PowerShellならCmdletもあります。が、これはProffesionalとかそれなんです。

しかし、-Verboseスイッチを付ければ、表示はされます。*1

PS> Get-WindowsEdition -Online -Verbose

VERBOSE: Dism PowerShell Cmdlets Version 6.3.0.0
VERBOSE: Target Image Version 6.3.9600.16384


Edition : Professional

まとめ

素直に .NET使いましょう。

*1:変数に受け取れませんけど




以上の内容はhttps://tech.guitarrapc.com/entry/2013/10/25/075920より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14