如何使用产品的guid卸载产品
我试过这个
msiexec /x {guid}
但我无法卸载产品
使用
时工作正常Wmic product where identifyingnumber={guid} call uninstall
答案 0 :(得分:8)
$WMI = Get-WmiObject win32_product -Filter 'IdentifyingNumber = "{guid}"'
$WMI.Uninstall()
答案 1 :(得分:3)
你需要引用这个论点。请注意,PowerShell使用大括号作为其语法的一部分(用于定义脚本块),因此将它们传递给本机命令会产生......意外的事情(从本机命令的角度来看):
PS Home:\> args {foo}
argv[0] = H:\Batches\args.cmd
argv[1] = -encodedCommand
argv[2] = ZgBvAG8A
argv[3] = -inputFormat
argv[4] = xml
argv[5] = -outputFormat
argv[6] = text
PowerShell显然试图以一种不会破坏的方式支持调用powershell { statements }
。并且在此过程中会导致大量意外输入到本机命令,而这些命令恰好不是PowerShell。
请注意,引用解决了这个问题:
PS Home:\> args '{foo}'
argv[0] = H:\Batches\args.cmd
argv[1] = {foo}
还有Avshalom提到的通过WMI的方式。