用于删除 mcafee 代理软件的批处理脚本

batch script to remove mcafee agent software

我整理了一个小的批处理脚本来从机器上删除 McAfee 软件。测试和所有工作但怀疑 8.3。命名约定可能会导致我的脚本无法按预期完成。

这是脚本,脚本下方的日志可能是我的脚本无法运行的原因:

@echo off

::check if mcafeetemp directory exists
if exist C:\mcafeetemp\NUL echo "Folder already exists"
if not exist C:\mcafeetemp\NUL echo "Folder does not exist"
mkdir c:\mcafeetemp\
pause

::check 64bit or x86
dir "C:\Program Files (x86)\." > NUL 2>&1
if errorlevel 0 (
set PROGRAMS_HOME="C:\Program Files (x86)"
GOTO HomeSet
)

dir "C:\Program Files\." > NUL 2>&1
if errorlevel 0 (
set PROGRAMS_HOME="C:\Program Files"
GOTO HomeSet
)   
GOTO NotWindows

:HomeSet
set PROGRAMS_HOME=%PROGRAMS_HOME:"=%
echo PROGRAMS_HOME set to %PROGRAMS_HOME%
:NotWindows
pause

::remove mcafee agent
"%PROGRAMS_HOME%\McAfee\Common Framework\frminst.exe" /forceuninstall /Silent > c:\mcafeetemp\forceremovelog.txt
::shutdown /r /f /t 120 /d P:4:2 /c "Old McAfee agent removed. Reboot required."
endlocal
pause
EXIT /B 200

这是日志:

2016-04-01 13:32:21.189 I 6048 Setup    START ["C:\Program Files (x86)\McAfee\Common Framework\frminst.exe"  /forceuninstall /Silent ]
2016-04-01 13:32:21.189 I 6048 Setup    Windows 6.1.7601 Service Pack 1
2016-04-01 13:32:21.190 I 6048 msiFix   Finding agent MSI product code
2016-04-01 13:32:21.190 I 6048 msiFix   Got MSI product code {4AEFF024-F0D0-4AD6-8231-FF51949E91E0}
2016-04-01 13:32:21.190 I 6048 msiFix   Finding agent MSI version
2016-04-01 13:32:21.190 I 6048 msiFix   Got agent MSI version 4.6.3001
2016-04-01 13:32:21.190 I 6048 msiFix   Nothing to fix for this agent version
2016-04-01 13:32:21.190 I 6048 Setup    Attempting to perform a setup operation
2016-04-01 13:32:21.192 I 6048 Cmalib   Referencer 1 HOSTIPS_8000
2016-04-01 13:32:21.192 I 6048 Cmalib   Referencer 2 VIRUSCAN8800
2016-04-01 13:32:21.194 I 6048 caShrLb  Installed version=4.6.0.3122
2016-04-01 13:32:21.194 I 6048 caShrLb  Product count=2
2016-04-01 13:32:21.194 I 6048 caShrLb  Managed mode=1
2016-04-01 13:32:21.194 I 6048 Setup    Legacy installed=0
2016-04-01 13:32:21.194 I 6048 Setup    Higher version installed=0
2016-04-01 13:32:21.194 I 6048 Setup    Existing Installed Path=C:\Program Files (x86)\McAfee\Common Framework
2016-04-01 13:32:21.194 I 6048 Setup    Existing Data Path=C:\ProgramData\McAfee\Common Framework
2016-04-01 13:32:21.194 I 6048 Setup    Existing setup program=C:\Program Files (x86)\McAfee\Common Framework\frminst.exe
2016-04-01 13:32:21.194 I 6048 Setup    LangInRegistry=[]
2016-04-01 13:32:21.195 I 6048 Setup    C:\Windows\SysWOW64\msiexec.exe /x {4AEFF024-F0D0-4AD6-8231-FF51949E91E0} FORCEUNINSTALL=True /q REBOOT=R /l+*v "C:\Users\xxxxxx~1\AppData\Local\Temp\McAfeeLogs\MFEagent.msi.2016.04.01.13.32.21.log" FRMINSTLOGFILE="C:\Users\xxxxxx~1\AppData\Local\Temp\McAfeeLogs\FrmInst_{systemname}"
2016-04-01 13:32:21.846 E 6048 Setup    Error trace:
2016-04-01 13:32:21.846 E 6048 Thread    [Main thread]->
2016-04-01 13:32:21.846 E 6048 Setup     [Attempting to perform a setup operation]->
2016-04-01 13:32:21.846 E 6048 Setup     [Run MSI]->
2016-04-01 13:32:21.846 E 6048 Setup      error 1612: The installation source for this product is not available. Verify that the source exists and that you can access it.
2016-04-01 13:32:21.846 E 6048 UI       Error trace:
2016-04-01 13:32:21.846 E 6048 Thread    [Main thread]->
2016-04-01 13:32:21.846 E 6048 UI         The installation source for this product is not available. Verify that the source exists and that you can access it.
2016-04-01 13:32:21.846 I 6048 Thread   Exit program
2016-04-01 13:32:21.846 I 6048 Setup    END 1603

希望这些信息足够了,我觉得我快到了,只是在某处遗漏了什么?您对此的想法将不胜感激。

更新:

只是跟进这个?

https://superuser.com/questions/607572/how-do-i-modify-the-data-of-an-existing-registry-key-value-name-from-cmd

上找到话题

据我所知,我可以在 McAfee 知识库中解释的位置更新此特定注册表: https://kc.mcafee.com/corporate/index?page=content&id=kb51431

set append=XXXXXX
set key=HKCU\Software\myTest
set value=myValue
set oldVal=

for /F "skip=2 tokens=3" %%r in ('reg query %key% /v %value%') do set oldVal=%%r
echo previous=%oldVal%
set newVal=%oldVal%%append% 
reg add %key% /v %value% /d %newVal% /f'

我设法让它工作了。 运行 在 x86 系统上再次执行脚本并成功完成。不确定确切的原因是上一次它不工作的原因,但从创建的日志中我确认它已成功完成。