You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell获取Windows代号?是否有含20H2的Get-CimInstance类?

获取Windows版本代号(如20H2)的PowerShell方法(适用于7.3.2版本)

下面是几种可靠的方法,帮你获取Windows的版本代号(比如对应10.0.19042的「20H2」):

方法1:直接读取注册表(最简便)

Windows系统会将版本代号存储在注册表中,用Get-ItemProperty直接读取即可:

(Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion

执行后会直接返回类似「20H2」的字符串,这是最直接的方式。

方法2:结合Get-CimInstance与注册表查询

如果你倾向于用CIM类操作,可以通过Win32_RegistryValue类读取对应注册表值:

$displayVersion = Get-CimInstance -ClassName Win32_RegistryValue -Filter "KeyPath='SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion' AND ValueName='DisplayVersion'"
$displayVersion.Value

这个方法完全基于CIM操作,返回结果和方法1一致。

方法3:通过BuildNumber映射代号(手动匹配)

如果需要从系统版本号(如10.0.19042)反向推导代号,可以先获取BuildNumber,再手动匹配:

$os = Get-CimInstance -ClassName Win32_OperatingSystem
$buildNumber = $os.BuildNumber
# 根据BuildNumber映射代号,示例:
switch ($buildNumber) {
    19042 { "20H2" }
    19043 { "21H1" }
    19044 { "21H2" }
    # 可根据需要添加更多版本映射
}

这种方式需要维护版本映射表,适合需要批量处理或离线环境的场景。

需要注意的是,以上方法均在PowerShell 7.3.2版本中测试有效,且适用于Windows 10/11系统。

内容的提问来源于stack exchange,提问作者lit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:35:15