Powershell get-itemproperty报告项不存在';不存在,当它存在的时候
我在使用以下工具获取Powershell get-itemproperty报告项不存在';不存在,当它存在的时候,powershell,registry,uninstallation,Powershell,Registry,Uninstallation,我在使用以下工具获取REG_SZ值时遇到一些奇怪的问题: (获取项目属性-路径“注册表::HKEY\U LOCAL\U MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player”-名称卸载字符串)。卸载字符串 (get-itemproperty -Path "Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\U
REG_SZ
值时遇到一些奇怪的问题:
(获取项目属性-路径“注册表::HKEY\U LOCAL\U MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player”-名称卸载字符串)。卸载字符串
(get-itemproperty -Path "Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player" -Name UninstallString).UninstallString
get-itemproperty : Cannot find path 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\VLC media player' because it
does not exist.
At line:1 char:2
+ (get-itemproperty -Path "Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (HKEY_LOCAL_MACH...LC media player:String) [Get-ItemProperty], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand
此方法适用于另一个REG_SZ
,没有问题,但是当我调用下面的许多键Uninstall
时,它失败了
具体而言,它与:
(获取itemproperty-路径“注册表::HKEY\U当前用户\Software\Microsoft\Command Processor”-名称自动运行)。自动运行
这两个数据项都存在于我的系统中,在regedit中可见
然而,非常有趣的是,它们并不存在于以下结果中:
Get-ChildItem "Registry::HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\uninstall\"
还有几把“丢失”的钥匙。这似乎是我不熟悉的一些奇怪的注册表命名空间虚拟化(类似于HKEY_CLASSES_ROOT)?
它讨论了
在这种情况下,由于键“丢失”,因此必须检查其他路径(请注意,在尝试任何“可出错”操作之前,我应该在条件中使用testpath
检查路径)
所以,我必须运行32位powershell.exe
PS > [Environment]::Is64BitProcess
False
另外,HKEY\u CLASSES\u ROOT\Installer\Products
是另一个列出Windows安装程序安装程序的位置
。我必须让它更容易接近
另外,我正在MacBookPro上的训练营上运行Windows7。奇怪的是,不管我执行的是什么powershell.exe,它都是32位的。无论位置是否在wow6432节点下方
,我都无法看到注册表项
PS > [Environment]::Is64BitProcess
False