Come automatizzare la disinstallazione delle app macOS con uno script di shell

Quando si tratta di macOS, ci sono diverse strade per la disinstallazione delle app macOS: trascinarle nel cestino, usare un programma di disinstallazione dedicato o passare attraverso il Launchpad. Tuttavia, questi metodi spesso mancano dell’efficienza e dell’automazione necessarie per le operazioni su larga scala negli ambienti IT. Per i professionisti IT e i Managed Service Provider (MSP) incaricati di gestire un parco di dispositivi Mac, l’utilizzo di uno script di shell a questo scopo diventa il metodo più efficiente ed efficace. 

Disinstallazione delle app macOS con uno script di shell

#!/usr/bin/env bash
# Description: This will search under /Applications/* and under each user's Applications folder for the app you speficy to remove and will only remove the first found app.
#
# Release Notes: Initial Release
# By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use.
# Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
# Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
# Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
# Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
# Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
# Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
# EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#
# Usage:
#  <ApplicationName.app>
# Accepts only one application
# Specify the exact name of the application.
# Applications with space(s) in the name will need double quotes surrounding it. Example: "Google Chrome.app"
# As macOS's file system is typically case sensitive, matching the case is important.
#
# EXAMPLE
#  If we have /Applications/Docker.app installed.
#  Then our argument would be:
#    Docker.app
# EXAMPLE
#  If we have /Applications/Google Chrome.app installed.
#  Then our argument would be:
#    "Google Chrome.app"
APP=$1
# Get a list of all installed app's, filter to only have /Applications and /User/<username>/Applications, filter the requested app, select the first found app
mdfind kMDItemContentTypeTree=com.apple.application-bundle -onlyin >/dev/null
APP_TO_UNINSTALL=$(system_profiler SPApplicationsDataType 2>/dev/null | sed -n 's/^ *Location: (.*)/1/p' | grep -E '^/Applications.*|/Users/.+/Applications.*' | grep "${APP}" | head -n 1)
echo "Found ${APP_TO_UNINSTALL}"
echo "Removing ${APP_TO_UNINSTALL}"
# Remove app
rm -rf "${APP_TO_UNINSTALL}"
status=$?
# Output result
[ $status -eq 0 ] && echo "Removed ${APP_TO_UNINSTALL}" || echo "Failed to remove ${APP_TO_UNINSTALL}"
# Return status
exit $status

 

Accedi a oltre 700 script nel Dojo di NinjaOne

Ottieni l’accesso

Analisi dello script: Come funziona

Utilizzare mdfind e system_profiler 

Lo script per la disinstallazione delle app macOS implementa le utility native di macOS per svolgere il suo compito. Mdfind, una parte di Spotlight, viene utilizzata inizialmente per interrogare i metadati dei file. Questo permette allo script di compilare un elenco di tutti i pacchetti delle applicazioni, concentrandosi solo su quelli che si trovano in /Applications e /Users/<username>/Applications. 

System_profiler, un’altra utility di macOS, raccoglie informazioni dettagliate sulle applicazioni installate. Quando viene utilizzata con SPApplicationsDataType elenca tutte le applicazioni installate sul computer.

Filtrare i risultati con grep

L’utility a riga di comando grep viene utilizzata due volte nello script per la disinstallazione delle app macOS. La prima occorrenza filtra l’output di system_profiler per trovare i percorsi che iniziano con /Applications o con /Users/<username>/Applications. Il secondo utilizzo restringe i risultati in base al nome esatto dell’applicazione specificata.

Il potente rm

La disinstallazione delle app macOS vera e propria avviene con il comando rm -rf una potente utility che rimuove file e directory. In questo caso, individua il pacchetto di applicazioni trovato dai precedenti comandi e lo rimuove dal sistema.

I vantaggi dell’automazione: Perché usare questo script per la disinstallazione delle app macOS

Risparmio di tempo 

Automazione è sinonimo di risparmio di tempo. Questo script elimina i fastidi della disinstallazione manuale, consentendo al personale IT di concentrarsi su attività più critiche. 

Scalabilità 

Lo script per la disinstallazione delle app macOS può far parte di uno schema di automazione più ampio. Immagina di incorporarlo in uno strumento di gestione del sistema che attivi in remoto questo script su tutti i dispositivi Mac di una rete. La scalabilità è immensa. 

Precisione

A differenza dei metodi manuali, in cui l’errore umano è un fattore determinante, lo script per la disinstallazione delle app macOS è programmato per trovare l’esatto pacchetto di app, riducendo così le possibilità di cancellazioni involontarie o di omissioni. 

Flessibilità 

Grazie alla possibilità di specificare il nome esatto dell’applicazione come argomento, potrai adattare il processo di disinstallazione delle app macOS alle tue esigenze specifiche. Inserisci questo script all’interno di un altro script e otterrai un potente strumento per disinstallare più applicazioni in sequenza. 

Vantaggi in termini di conformità 

Nei settori regolamentati o con rigorosi standard di conformità, la mancata rimozione di app non conformi o non autorizzate può comportare sanzioni. L’automazione del processo di disinstallazione delle app macOS garantisce la conformità con il minimo sforzo.

Conclusione

NinjaOne è una piattaforma di gestione IT cloud-based che può essere utilizzata per automatizzare una serie di attività, tra cui la disinstallazione delle app. Con NinjaOne potrai creare un criterio che esegua lo script per la disinstallazione delle app macOS. Questo criterio può essere programmato per essere eseguito su base ricorrente, oppure può essere attivato da un evento specifico, come l’installazione di una nuova applicazione.

Ecco i passaggi per utilizzare NinjaOne per automatizzare lo script di disinstallazione delle app macOS: 

  1. Crea un criterio in NinjaOne. 
  2. Nel criterio, seleziona l’azione “Script”. 
  3. Incolla lo script di shell nell’editor di script. 
  4. Nella sezione “Arguments”, specifica il nome dell’applicazione che vuoi disinstallare. 
  5. Programma l’esecuzione del criterio su base ricorrente o con attivazione basata su un evento specifico. 

Una volta creato il criterio, questo disinstallerà automaticamente l’applicazione specificata da tutti i dispositivi macOS gestiti da NinjaOne. Questo può farti risparmiare una quantità significativa di tempo e fatica e può aiutarti a garantire che tutti i tuoi dispositivi macOS siano conformi ai criteri di sicurezza della tua organizzazione. 

Ecco alcuni ulteriori vantaggi dell’utilizzo di NinjaOne per automatizzare lo script di disinstallazione delle app macOS:

  • Gestione centralizzata: NinjaOne offre una console centralizzata per la gestione di tutti i dispositivi macOS. In questo modo è facile creare e distribuire i criteri e monitorare lo stato dei dispositivi. 
  • Scalabilità: NinjaOne può essere scalato per gestire un gran numero di dispositivi macOS. Questo lo rende una buona scelta per le organizzazioni con una grande infrastruttura IT. 
  • Sicurezza: NinjaOne è una piattaforma sicura che utilizza la crittografia standard del settore per proteggere i tuoi dati. In questo modo si garantisce che lo script di disinstallazione delle app macOS sia sicuro e che i dati siano protetti.

Passi successivi

La creazione di un team IT efficiente ed efficace richiede una soluzione centralizzata che funga da principale strumento per la fornitura di servizi. NinjaOne consente ai team IT di monitorare, gestire, proteggere e supportare tutti i dispositivi, ovunque essi si trovino, senza la necessità di una complessa infrastruttura locale.

Per saperne di più su NinjaOne Endpoint Management, fai un tour dal vivo, o inizia la tua prova gratuita della piattaforma NinjaOne.

Ti potrebbe interessare anche

Guarda una demo×
×

Guarda NinjaOne in azione!

Inviando questo modulo, accetto La politica sulla privacy di NinjaOne.

Termini e condizioni NinjaOne

Cliccando sul pulsante “Accetto” qui sotto, dichiari di accettare i seguenti termini legali e le nostre condizioni d’uso:

  • Diritti di proprietà: NinjaOne possiede e continuerà a possedere tutti i diritti, i titoli e gli interessi relativi allo script (compreso il copyright). NinjaOne ti concede una licenza limitata per l’utilizzo dello script in conformità con i presenti termini legali.
  • Limitazione d’uso: Puoi utilizzare lo script solo per legittimi scopi personali o aziendali interni e non puoi condividere lo script con altri soggetti.
  • Divieto di ripubblicazione: In nessun caso ti è consentito ripubblicare lo script in una libreria di script appartenente o sotto il controllo di un altro fornitore di software.
  • Esclusione di garanzia: Lo script viene fornito “così com’è” e “come disponibile”, senza garanzie di alcun tipo. NinjaOne non promette né garantisce che lo script sia privo di difetti o che soddisfi le tue esigenze o aspettative specifiche.
  • Assunzione del rischio: L’uso che farai dello script è da intendersi a tuo rischio. Riconosci che l’utilizzo dello script comporta alcuni rischi intrinseci, che comprendi e sei pronto ad assumerti.
  • Rinuncia e liberatoria: Non riterrai NinjaOne responsabile di eventuali conseguenze negative o indesiderate derivanti dall’uso dello script e rinuncerai a qualsiasi diritto legale o di equità e a qualsiasi rivalsa nei confronti di NinjaOne in relazione all’uso dello script.
  • EULA: Se sei un cliente NinjaOne, l’uso dello script è soggetto al Contratto di licenza con l’utente finale (EULA) applicabile.