Deployment: HipChat Batch Uninstaller

Kurze Sidenote und Ergänzung meiner Deployment-Sammlung: Ein Hipchat Batch Uninstaller für das Netzwerk.
Wir sind mittlerweile auf Slack umgestiegen und von daher musste Hipchat weg, das war jedoch nicht weiter schwer. Die bereits vorhandene Standardroutine für die Deinstallation im Installer wurde um wmic Befehle erweitert und auf diese eine Aufgabe verschlankt. Probleme gab es keine weiter, läuft gut durch.

@echo off && color 9f && setlocal
set wd=\\lea\Deployment\Software\Hipchat
set log=%wd%\hipchat.log
set exepath=none
set retry=0

REM:: Clientfilter: nur die Computer aus der allowedPCs.txt dürfen deinstallieren
::for /f %%f in (%wd%\allowedPCs.txt) do if "%computername%"=="%%f" goto check
::goto end

REM:: Clientfilter: die Computer aus der deniedPCs.txt dürfen nicht deinstallieren
for /f %%f in (%wd%\deniedPCs.txt) do if "%computername%"=="%%f" goto end

:check
if exist "C:\Program Files (x86)\Atlassian\HipChat4\HipChat.exe" set exepath="C:\Program Files (x86)\Atlassian\HipChat4\HipChat.exe"
if %exepath%==none echo %date% %time:~0,8% - %computername% findet das .exe Verzeichnis nicht >> %log% && goto end
goto uninstall

:uninstall
if %retry%==1 goto retryfailed
TASKKILL /f /im hipchat.exe
echo %date% %time:~0,8% - %computername% deinstalliert Hipchat... >> %log%
start /w "" "C:\Program Files (x86)\Atlassian\HipChat4\unins000.exe" /s /silent /qn
del /q /s "C:\Program Files (x86)\Atlassian"
wmic product where "name like 'Hipchat %%'" call uninstall /nointeractive
wmic product where "name like 'Hipchat%%'" call uninstall /nointeractive
echo %date% %time:~0,8% - %computername% hat Hipchat deinstalliert, überprüfe... >> %log%
set retry=1
set exepath=none
goto check

:retryfailed
echo _!_ %date% %time:~0,8% - %computername% Deinstallation fehlgeschlagen! >> %log%
goto end

:end
endlocal
exit

hipchat-batch-uninstaller-log
Die Logausgaben sind in der aktuellen Version des Codes etwas sinnvoller, bitte nicht wundern.

Schreibe einen Kommentar