0

我有以下问题:

我尝试从注册表中获取所有可卸载的应用程序并(gp 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*').DisplayName -Like '*'用作命令。在 x86 版本的 Powershell 中,它返回应用程序列表,但在 x64 版本中,我收到此错误:

PS C:\Users\simon> (gp 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*').DisplayName -Like '*'
gp : Die angegebene Umwandlung ist ungültig.
In Zeile:1 Zeichen:2
+ (gp 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*').Di ...
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-ItemProperty], InvalidCastException
    + FullyQualifiedErrorId : System.InvalidCastException,Microsoft.PowerShell.Commands.GetItemPropertyCommand

gp命令本身似乎有效。上面的命令也适用于其他系统上的 x64 Powershell。

我试过的:

  • gp验证 Powershell 是否知道此命令。
  • [intPtr]::size检查它的 x86/x64
  • 重新安装 Powershell(通过optionalfeatures.exe
  • 安装了新的 .NET 框架
  • 尝试了其他系统上的命令(它们有效)
  • 以管理员身份运行 Powershell
  • 更改了pathPowershell.exe 的(作为环境变量)(默认使用 x86,但这会导致其他问题 - 没关系)

我没有想法,谷歌也没有让我走得更远。

[解决方案]

我发现此错误是由注册表中 NetBeans 安装REG_DWORD属性的无效值引起的。NoModify

4

0 回答 0