我是Powershell的新手,我试图自动执行卸载补丁程序,以便我可以安装另一个补丁程序(使用jenkins等〜)。
我有这个脚本,它获取了ProductID号,我也有补丁.msp文件的路径。将这些变量传递给msiexec命令不起作用。我不断收到错误消息:“无法打开此安装软件包。请确认该软件包存在〜'。
尽管如此,如果我在不将变量传递给msiexec的情况下运行该命令,则它会起作用。
这里是我的脚本:
$PATHPreviousPatch = "<>" #this is where I keep the .msp files to the patch that im trying to uninstall
$IdNumber = Get-WmiObject -Class Win32_Product | Where-Object -FilterScript {$_.Name -eq "%product Example%"} | Format-List -Property IdentifyingNumber
$strProductCode = $IdNumber | Out-String
$strProductCode -match "IdentifyingNumber : (?<content>.*)"
$strProductCode = $Matches['content']
[string]$AppMSP = Get-ChildItem $PATHPreviousPatch| Where-Object {$_.Name -match "%appmsp%.msp"}
$fullUninstallPath = $PATHPreviousPatch + $AppMSP #just to get the full path to the MSP file
msiexec /package `'$strProductCode`' /uninstall """$fullUninstallPath"""
请帮忙,我已经尽我所能找到了一切。.
谢谢。