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
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:
- Crea un criterio in NinjaOne.
- Nel criterio, seleziona l’azione “Script”.
- Incolla lo script di shell nell’editor di script.
- Nella sezione “Arguments”, specifica il nome dell’applicazione che vuoi disinstallare.
- 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.