首页 > 解决方案 > 如何在 Powershell 中修剪管道对象并在管道中进一步使用它?

问题描述

我正在尝试从注册表中获取一些 GUID,修剪空白行,然后通过卸载运行每个 GUID,但我不确定在运行该卸载命令之前如何修剪每个 GUID。这是我到目前为止所拥有的,但它不起作用:

(Get-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" | Where-Object -Property DisplayName -Match MDX | Format-Table -Property PSChildName -HideTableHeaders | Out-String).Trim() | ForEach-Object {Start-Process "msiexec" -ArgumentList "/x $_ /qn /norestart" -Wait})

标签: powershell

解决方案


get-package *mdx* | uninstall-package -whatif

或者

get-itemproperty HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | 
  where displayname -match mdx | select -expand pschildname | 
  foreach { start msiexec -arg "/x $_ /qn /norestart" -wait }

顺便说一句,我碰巧知道,如果您安装 Netbeans,它会破坏列出 64 位卸载注册表项属性。


推荐阅读