如何获取PowerShell中指定注册表项的Version属性值?
提取.NET Framework Version注册表属性值的方法
嗨,我来帮你搞定这个问题!你现在用Get-ChildItem拿到了注册表项的完整信息,但只想提取Version的纯数值,换个命令就能轻松实现:
方法1:兼容多数PowerShell版本的写法
用Get-ItemProperty获取指定注册表项的所有属性,再直接访问Version属性就能拿到你要的数值:
(Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').Version
执行后会直接输出类似4.5.51650的结果。
方法2:PowerShell 5.1+的简洁写法
如果你的PowerShell版本是5.1或更高,推荐用Get-ItemPropertyValue,它能直接返回指定属性的值,省去额外的属性访问步骤:
Get-ItemPropertyValue -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Version
为什么之前的命令没达到预期?
Get-ChildItem的作用是列出注册表项(比如你输出里的1033子项),而不是读取项的属性值。要提取属性内容,就得用专门处理属性的Get-ItemProperty或Get-ItemPropertyValue命令。
内容的提问来源于stack exchange,提问作者iLLUNiS




