0

希望你能帮助...

执行下面的 powershell(我是新手 btw)来获取注册表项的值,当我执行第一个 powershell 语句时,我得到了我期望的所有属性,但是当我针对 VisualStudio\10.0 执行第二个语句时它返回没有属性,即使在注册表编辑器中有一堆属性(包括我正在追逐的 InstallDir!)盯着我的脸。你能帮我吗??

谢谢

PS C:\DEV\GeoMet> Get-ItemProperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion


    PSPath                   : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
    PSParentPath             : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
    PSChildName              : CurrentVersion
    PSDrive                  : HKLM
    PSProvider               : Microsoft.PowerShell.Core\Registry
    SM_GamesName             : Games
    SM_ConfigureProgramsName : Set Program Access and Defaults
    CommonFilesDir           : C:\Program Files\Common Files
    CommonFilesDir (x86)     : C:\Program Files (x86)\Common Files
    CommonW6432Dir           : C:\Program Files\Common Files
    DevicePath               : C:\Windows\inf
    MediaPathUnexpanded      : C:\Windows\Media
    ProgramFilesDir          : C:\Program Files
    ProgramFilesDir (x86)    : C:\Program Files (x86)
    ProgramFilesPath         : C:\Program Files
    ProgramW6432Dir          : C:\Program Files


PS C:\DEV\GeoMet> Get-ItemProperty -path HKLM:\SOFTWARE\Microsoft\VisualStudio\10.0
PS C:\DEV\GeoMet> 
4

2 回答 2

1

您几乎肯定会在64 位机器上查看32 位reg hive。仔细检查您的 regedit 路径 - 真的HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0吗?

我在 32 位密钥中看到属性(例如 InstallDir),但在 64 位密钥中没有看到。

如果是这样,这将是正确的查询:

Get-ItemProperty -path HKLM:\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0
于 2012-08-30T15:12:36.563 回答
0

这是我在 regedit 上看到的:

在此处输入图像描述

所以,你得到的输出Get-ItemProperty是正确的。对于您提到的另一条路径,您会看到有很多值。

您在 10.0 下看到的 Debugger 等可以通过使用Get-ChildItemcmdlet 获得。

于 2012-08-30T14:49:14.840 回答