【问题标题】:How can I uninstall Software Update (Programs and Features\Installed Updates) with Powershell如何使用 Powershell 卸载软件更新(程序和功能\已安装的更新)
【发布时间】:2021-04-27 03:13:11
【问题描述】:

是否有一种简单的方法可以卸载 Programs and Features\Installed Updates with Powershell 中列出的软件更新(Service Pack)?

我不是在谈论 Windows 更新。但是在 win 更新所在的同一位置列出的特定软件 Service Pack。

我知道如何使用 PS 卸载程序和功能中列出的软件 但无法弄清楚如何删除软件更新/服务包

此命令将列出所有软件

Get-WmiObject -Class Win32_Product | Select-Object -Property Name

或者这个

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate,UninstallString | Format-Table –AutoSize

这将删除软件,但我只需要删除软件服务包(更新),

$app = Get-WmiObject -Class Win32_Product | Where-Object { 
    $_.Name -match "Software Name" 
}

$app.Uninstall()

我已经看过那个帖子了: How can I uninstall an application using PowerShell?

希望我说的够清楚,谢谢

长话短说,我需要一个命令来列出或/和删除选定的软件更新(服务包等),谢谢

任何想法,谢谢

【问题讨论】:

  • 您要恢复哪个程序的更新?还是您指的是 Windows 更新?

标签: windows powershell windows-installer uninstallation


【解决方案1】:

您是否尝试过搜索任何类似的主题?我发现像 9+

你要找的是这个:

$app = Get-WmiObject -Class Win32_Product | Where-Object { 
    $_.Name -match "Software Name" 
}

$app.Uninstall()

或者, $app = Get-WmiObject -Class Win32_Product -Filter "Name = 'Software Name'"

来自:How can I uninstall an application using PowerShell?

其他有用的链接:

https://redmondmag.com/articles/2019/08/27/powershell-to-uninstall-an-application.aspx

https://www.slashadmin.co.uk/how-to-uninstall-programs-using-powershell/

调用.uninstall方法的结论都是一样的。

更新:

我们也可以使用 DISM 进行更新:

$SearchUpdates = dism /online /get-packages | findstr "Package_for"
$updates = $SearchUpdates.replace("Package Identity : ", "") | findstr "KBXXXXXX"
#$updates
DISM.exe /Online /Remove-Package /PackageName:$updates /quiet /norestart

Get-Packageuninstall-package 的本机powerhsell cmdlet。

将此快速脚本作为更新的选择。

$Updates = Get-Package -Name "*Update*" | Select-Object -ExpandProperty Name
for($i=0; $i -lt $Updates.Count; $i++){
write-host "$($i): $($Updates[$i])"    
    }

$Selection = Read-Host -Prompt "Enter number of updates you would like to uninstall"
$Selection = $Selection -split " "


Foreach($Update in $Updates[$Selection]){
    Uninstall-Package -Name $Update -whatif
    }

Wusa.exe 如果您熟悉它的语法,也可以为您提供类似的结果。运行wusa.exe /?。例如:Wusa /uninstall /KB:KB1234567

请注意,我过去只是使用 Wusa 卸载 KB 才真正成功。 DISM 似乎大部分时间都在工作,但有很多可用的选项。

【讨论】:

  • 我知道如何卸载应用程序,应用程序更新如何?问题是如何仅卸载应用程序更新,
  • 感谢您的回答,但dism /online /get-packages 仅显示 Microsoft 软件更新。我需要能够列出第三方软件而不是微软软件的服务包和更新,所以你的解决方案对我不起作用,但谢谢。
猜你喜欢
  • 2021-10-17
  • 2013-12-15
  • 2017-10-23
  • 1970-01-01
  • 2018-03-26
  • 2021-06-14
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
相关资源
最近更新 更多