【发布时间】:2018-05-22 06:48:34
【问题描述】:
我正在编写一个使用 WMI 对象获取 Windows 版本的函数。但我想将 Windows 10 ReleaseId ("1709")(来自注册表项)添加到对象中。
这是一个愚蠢的想法吗? (它有效,我只是不知道这样做是否明智。)
function Get-OSVersion {
[version]$OSVersion = (Get-WmiObject -Class Win32_OperatingSystem).Version
if ($OSVersion.Major -ge '10') {
$OSVersion | Add-Member -MemberType NoteProperty -Name ReleaseId -Value $([int]::Parse($(Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" ReleaseId).ReleaseId)) -Force
}
return $OSVersion
}
$OSVersion = Get-OSVersion
if ($OSVersion -ge '6.1') {"At least Win7"} else {"Too old"}
if ($OSVersion.ReleaseID -ge '1703') {"At least 1703."} else {"Too old"}
另外,覆盖成员“Revision”(值始终为-1)而不是添加新成员“ReleaseId”是否不明智?
【问题讨论】:
标签: windows powershell object wmi