从 powershell 卸载产品
Uninstall a product from powershell
如何使用产品的 GUID 卸载产品
我试过了
msiexec /x {guid}
但是我无法卸载该产品
当我使用
时它工作正常
Wmic product where identifyingnumber={guid} call uninstall
$WMI = Get-WmiObject win32_product -Filter 'IdentifyingNumber = "{guid}"'
$WMI.Uninstall()
你需要引用论点。请注意,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}
还有 提到的通过 WMI 的方法。
如何使用产品的 GUID 卸载产品
我试过了
msiexec /x {guid}
但是我无法卸载该产品
当我使用
时它工作正常Wmic product where identifyingnumber={guid} call uninstall
$WMI = Get-WmiObject win32_product -Filter 'IdentifyingNumber = "{guid}"'
$WMI.Uninstall()
你需要引用论点。请注意,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}
还有