Site icon Gioxx.org

Kace: Skype Removal Tool

Non è così raro che una policy aziendale preveda di bloccare o rimuovere programmi di messaggistica istantanea come Skype e soci. Noi non lo facciamo, ma ci sono alcune macchine che hanno un’installazione di Skype a bordo inutile e potenzialmente “pericolosa” (dipende dallo scopo e dalla posizione della macchina). Per questo motivo la richiesta è stata chiara e semplice: poter ritirare un’installazione di Skype su uno qualsiasi tra i PC gestiti all’interno della nostra rete.

Ho analizzato le versioni che abbiamo in giro e preparato uno script che è stato poi dato in pasto a Dell Kace per portare a termine il compito. Ogni ID di disinstallazione è stato recuperato tramite il software di inventory Dell, e corrisponde a una o più versioni di Skype, il tutto è riportato nei commenti dello script che ho scelto di rendere pubblico (come spesso accade), disponibile per tutti su Gist:

REM @echo off
cls
REM Skype Removal Tool
REM GSolone - ult.mod. 25012016
REM -------------------------------------------------------
REM Verifica architettura sistema, fermo servizi Skype, imposto ricerca registro
if not defined ProgramFiles(x86) goto 32bit else goto 64bit
:32bit
"%PROGRAMFILES%\Skype\Phone\Skype.exe" /shutdown
SET PRODUCTKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
goto KillProcess
:64bit
"%PROGRAMFILES(x86)%\Skype\Phone\Skype.exe" /shutdown
SET PRODUCTKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
:KillProcess
taskkill /IM Skype.exe /F > NUL
REM Verifica della versione e disinstallazione
:Verify
REM Skype 4.2
REG QUERY %PRODUCTKEY%\{5C474A83-A45F-470C-9AC8-2BD1C251BF9A}
IF %ERRORLEVEL% EQU 0 ( MsiExec.exe /X{5C474A83-A45F-470C-9AC8-2BD1C251BF9A} /qn /norestart )
REM Skype 6.18
REG QUERY %PRODUCTKEY%\{7A3C7E05-EE37-47D6-99E1-2EB05A3DA3F7}
IF %ERRORLEVEL% EQU 0 ( MsiExec.exe /X{7A3C7E05-EE37-47D6-99E1-2EB05A3DA3F7} /qn /norestart )
REM Skype 6.21, 7.0, 7.5, 7.6, 7.7
REG QUERY %PRODUCTKEY%\{24991BA0-F0EE-44AD-9CC8-5EC50AECF6B7}
IF %ERRORLEVEL% EQU 0 ( MsiExec.exe /X{24991BA0-F0EE-44AD-9CC8-5EC50AECF6B7} /qn /norestart )
REM Skype 7.9, 7.10, 7.15
REG QUERY %PRODUCTKEY%\{6A0549A9-1B96-498C-ACBC-3943001FEB19}
IF %ERRORLEVEL% EQU 0 ( MsiExec.exe /X{6A0549A9-1B96-498C-ACBC-3943001FEB19} /qn /norestart )
REM Skype 7.16, 7.17, 7.18
REG QUERY %PRODUCTKEY%\{FC965A47-4839-40CA-B618-18F486F042C6}
IF %ERRORLEVEL% EQU 0 ( MsiExec.exe /X{FC965A47-4839-40CA-B618-18F486F042C6} /qn /norestart )
REM Rimozione dei file dell'applicazione
:RemoveFiles
if exist "%PROGRAMFILES%\Skype" rd /S /Q "%PROGRAMFILES%\Skype"
if exist "%PROGRAMFILES(x86)%\Skype" rd /S /Q "%PROGRAMFILES(x86)%\Skype"
if exist "%Programdata%\Skype" rd /S /Q "%Programdata%\Skype"
REM Esistono ma appartengono all'utente che lo ha usato fino a oggi:
REM - %appdata%\Skype
REM - %temp%\Skype
REM - %temp%\Skype*.exe

Dopo un tentativo di shutdown di Skype tramite parametro (skype /shutdown), termino completamente il processo perché, nel caso in cui l’utente non abbia effettuato il login al sistema di messaggistica Microsoft, Skype non interpreterà correttamente il primo comando ricevuto. A quel punto si tratta solo di puntare al registro di sistema e lanciare un numero di query che può e deve combaciare alla versione di Skype installata nel sistema. Nessuno vi vieta di inserire ulteriori blocchi con relativi ID di disinstallazione, dipende da che versioni avete nella vostra rete. Al termine dell’operazione vado a cancellare le cartelle del programma, a eccezione di quelle generalmente utilizzate come appoggio per scaricare le nuove versioni del software e quella dove Skype salva tutto lo storico appartenente al profilo dell’utente, che così potrà prendere in autonomia i suoi dati e spostarli su un PC con un’installazione funzionante del software Microsoft.

Svariati riferimenti su disinstallazione e installazione parametrizzata sono disponibili nel forum del prodotto, e nonostante si tratti di una “vecchia discussione“, ancora oggi è assolutamente valida: community.skype.com/t5/Windows-archive/Unattended-install/td-p/184628.

Per chi se lo stesse chiedendo: nelle opzioni di lancio dello script (via Kace) prevedo di attendere il termine dell’esecuzione dello script e lo faccio girare come sistema, così da non avere problemi con i permessi di esecuzione dei comandi amministrativi. Mantengo lo script invisibile agli occhi dell’utente e posso eseguirlo su richiesta in qualsiasi momento.

Ogni commento, correzione o dubbio è sempre ben accetto, l’area commenti è a vostra totale disposizione.

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Exit mobile version