如何使用 PowerShell 卸载 MSI 包?
要使用 PowerShell 卸载 MSI 包,我们需要产品代码,然后可以使用 msiexec 文件将产品代码与特定应用程序一起用于卸载。
可以使用 Get-Package 或 Get-WmiClass 方法检索产品代码。在此示例中,我们将卸载 7-zip 包。
$product = Get-WmiObject win32_product | ` where{$_.name -eq "7-Zip 19.00 (x64 edition)"}
$product.IdentifyingNumber
上述命令将检索产品代码。要使用 msiexec 卸载产品,请在产品 ID 中使用 /x 开关。以下命令将使用上述检索到的代码卸载 7-zip。
msiexec /x $product.IdentifyingNumber /quiet /noreboot
这是 cmd 命令,但在 PowerShell 中可以运行,但是我们无法控制此命令的执行。例如,在这之后执行的下一个命令将立即执行。要在卸载完成之前等待,可以在 PowerShell 中使用 -Wait 参数使用 Start-Process。
Start-Process "C:\Windows\System32\msiexec.exe" ` -ArgumentList "/x $($product.IdentifyingNumber) /quiet /noreboot" -Wait
要在远程计算机上运行相同命令,请使用 Invoke-Command。
Invoke-Command -ComputerName TestComp1, TestComp2 ` -ScriptBlock { $product = Get-WmiObject win32_product | where{$_.name -eq "7-Zip 19.00 (x64 edition)"} $product.IdentifyingNumber Start-Process "C:\Windows\System32\msiexec.exe" ` -ArgumentList "/x $($product.IdentifyingNumber) /quiet /noreboot" -Wait }
广告