我有一个脚本可以卸载McAfee Antivirus及其相关的代理。
我遇到的问题是,脚本提供的退出代码为时过早,无法继续执行。如果我多次运行该脚本,则会获得理想的结果,但是当我们尝试通过PDQ远程将其推出时,我们需要它在脚本中运行并且仅在脚本末尾提供退出代码。>
我是一名Powershell新手,因此可能有一种更好,更轻松的方式编写此脚本,但是任何建议都将不胜感激。
Start-Process -FilePath "msiexec.exe" -ArgumentList "/x {CE15D1B6-19B6-4D4D-8F43-CF5D2C3356FF} REMOVE=ALL REBOOT=R /q"; Write-Host "Uninstalling McAfee VirusScan Enterprise 8.8..."
$version = (Get-WmiObject -class Win32_OperatingSystem).Caption
Write-Host "Detected OS as $version"
if ($version -like '*Windows 7*')
{
Write-Host "Uninstalling McAfee Agent..."
Start-Process -FilePath "C:\Program Files (x86)\McAfee\Common Framework\frminst.exe" -ArgumentList "/forceuninstall"
}
elseif ($version -like '*Windows 10*')
{
Write-Host "Unmanaging McAfee Agent for Uninstall Process.."
Start-Process -FilePath "C:\Program Files\McAfee\Agent\maconfig.exe" -ArgumentList "/provision /unmanaged";
Write-Host "Uninstalling McAfee Agent..."
Start-Process -FilePath "C:\Program Files\McAfee\Agent\x86\frminst.exe" -ArgumentList "/forceuninstall"
}
else
{
exit
}
答案 0 :(得分:0)
启动过程在启动过程后立即报告一个返回代码,指示该过程是否成功。使用-wait强制脚本等待直到完成,或者捕获输出并根据返回值进行操作。请参阅Start-Process
的文档