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

PowerShell读取注册表键报错:找不到路径问题求助

解决PowerShell读取DisplayVersion注册表键失败的问题

1. 修复语法错误

你的代码存在明显语法问题:路径字符串末尾多了一个右括号,且错误地将属性名DisplayVersion包含在路径参数里。Get-ItemProperty的-Path仅需指定注册表项路径,属性名需单独提取。

错误路径示例:

"HKEY_LOCAL_MACHINE:\SOFTWARE\Microsoft\Windows NT\CurrentVersion).DisplayVersion"

这里的)属于多余字符,且DisplayVersion是注册表项的属性,并非路径的一部分。

2. 正确代码写法

方法一:用Get-ItemProperty提取属性

先获取注册表项的所有属性,再单独提取DisplayVersion:

$windisver = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").DisplayVersion

方法二:用Get-ItemPropertyValue直接获取(PowerShell 5.1及以上支持)

该命令可直接获取指定属性值,避免返回整个属性对象,更高效:

$windisver = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name DisplayVersion

3. 处理注册表重定向问题(64位系统上的32位PowerShell)

如果你的PowerShell是32位版本,在64位Windows系统中,读取HKLM:\SOFTWARE会被自动重定向到HKLM:\SOFTWARE\Wow6432Node,但DisplayVersion实际存在于64位注册表路径中。此时需添加-RegistryView参数强制读取64位注册表:

$windisver = Get-ItemPropertyValue -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name DisplayVersion -RegistryView Registry64

4. 验证结果

运行修复后的代码后,可通过Write-Host $windisver查看输出,确认是否正确获取Windows显示版本号,再将其写入txt文件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 06:42:03