Hoe Apps Verwijderen op macOS Automatiseren met Shell Script

Voor macOS zijn er verschillende manieren om apps te verwijderen: door ze naar de prullenbak te slepen, met een speciaal verwijderprogramma of via het Launchpad. Deze methoden missen echter vaak de efficiĂ«ntie en automatisering die nodig is voor grootschalige activiteiten in IT-omgevingen. Voor IT-professionals en Managed Service Providers (MSP’s) die een vloot van Mac-apparaten moeten beheren, wordt het gebruik van een shellscript voor dit doel de meest efficiĂ«nte en effectieve methode.

Apps op macOS verwijderen met Shell Script

#!/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

 

Toegang tot meer dan 300 scripts in de NinjaOne Dojo

Toegang Krijgen

De anatomie van het script: Hoe het werkt

Gebruiken mdfind en systeemprofiler

Het script maakt gebruik van eigen hulpprogramma’s van macOS om zijn taak uit te voeren. mdfind, een onderdeel van Spotlight, wordt in eerste instantie gebruikt om de metagegevens van bestanden op te vragen. Hierdoor kan het script een lijst samenstellen van alle applicatiebundels en zich alleen richten op de bundels die zich bevinden in /Applications en /Users/<gebruikersnaam>/Applications.

system_profiler, een ander hulpprogramma voor macOS, verzamelt gedetailleerde informatie over de geĂŻnstalleerde programma’s. Bij gebruik in combinatie met SPApplicationsDataType worden alle applicaties opgesomd die op de machine geĂŻnstalleerd zijn.

Resultaten filteren met grep

Het hulpprogramma grep wordt twee keer gebruikt in het script. Het eerste voorval filtert de uitvoer van system_profiler om paden te vinden die beginnen met /Applications of met /Users/<gebruikersnaam>/Applications. Het tweede gebruik beperkt deze resultaten tot de exacte naam van de gespecificeerde app.

De machtige rm

De eigenlijke de-installatie gebeurt met het commando rm -rf, een krachtig hulpprogramma dat bestanden en mappen verwijdert. Hier richt het zich op de applicatiebundel die door de vorige commando’s is gevonden en verwijdert het van het systeem.

De voordelen van automatisering: Waarom dit script gebruiken

Tijdbesparing

Automatisering staat synoniem voor tijdbesparing. Dit script maakt een einde aan de vervelende handmatige deĂŻnstallatie, zodat IT-personeel zich kan richten op belangrijkere taken.

Schaalbaarheid

Het script kan deel uitmaken van een uitgebreider automatiseringsschema. Stel u voor dat u het in een systeembeheertool zou verwerken die dit script op afstand activeert op alle Mac-apparaten binnen een netwerk. De schaalbaarheid is hier enorm.

Nauwkeurigheid

In tegenstelling tot handmatige methoden waarbij menselijke fouten een rol spelen, is het script geprogrammeerd om de exacte app-bundel te vinden, waardoor de kans op onbedoelde verwijderingen of overlappingen wordt verkleind.

Flexibiliteit

Met de mogelijkheid om de exacte naam van de applicatie als argument op te geven, kunt u het verwijderingsproces aanpassen aan uw specifieke behoeften. Verpak dit script in een ander script en u hebt een krachtig hulpmiddel om meerdere apps achtereenvolgens te verwijderen.

Voordelen voor naleving

In industrieën die gereguleerd zijn of strikte compliancenormen hebben, kan het niet verwijderen van niet-conforme of niet-geautoriseerde apps leiden tot boetes. Het automatiseren van het verwijderingsproces zorgt ervoor dat je altijd aan de eisen voldoet met minimale inspanningen.

Inpakken

NinjaOne is een cloudgebaseerd IT-beheerplatform dat kan worden gebruikt om verschillende taken te automatiseren, waaronder het verwijderen van apps. Met NinjaOne kunt u een beleid maken dat het shellscript uitvoert. Dit beleid kan worden ingepland om herhaaldelijk te worden uitgevoerd, of het kan worden geactiveerd door een specifieke gebeurtenis, zoals de installatie van een nieuwe app.

Hier zijn de stappen om NinjaOne te gebruiken om het app uninstall script te automatiseren:

  1. Maak een beleid aan in NinjaOne.
  2. Selecteer in het beleid de actie “Script”.
  3. Plak het shellscript in de scripteditor.
  4. Geef in het gedeelte “Argumenten” de naam op van de app die u wilt verwijderen.
  5. Plan het beleid zo dat het op een terugkerende basis wordt uitgevoerd, of activeer het door een specifieke gebeurtenis.

Zodra de policy is gemaakt, wordt de opgegeven app automatisch verwijderd van alle macOS-apparaten die worden beheerd door NinjaOne. Dit kan u veel tijd en moeite besparen, en het kan u helpen om ervoor te zorgen dat al uw macOS-apparaten voldoen aan het beveiligingsbeleid van uw organisatie.

Hier zijn enkele extra voordelen van het gebruik van NinjaOne om het app uninstall script te automatiseren:

  • Gecentraliseerd beheer: NinjaOne biedt een gecentraliseerde console waarmee u al uw macOS-apparaten kunt beheren. Dit maakt het makkelijk om policy-regels te maken en te implementeren, en het maakt het ook makkelijker om de status van uw apparaten te volgen.
  • Schaalbaarheid: NinjaOne kan worden geschaald om een groot aantal macOS-apparaten te beheren. Dit maakt het een goede keuze voor organisaties met een grote IT-infrastructuur.
  • Beveiliging: NinjaOne is een veilig platform dat gebruikmaakt van encryptie volgens de industrienormen om uw gegevens te beschermen. Dit helpt ervoor te zorgen dat uw app uninstall scripts veilig zijn en dat je gegevens beschermd zijn.

Next Steps

Building an efficient and effective IT team requires a centralized solution that acts as your core service deliver tool. NinjaOne enables IT teams to monitor, manage, secure, and support all their devices, wherever they are, without the need for complex on-premises infrastructure.

Learn more about NinjaOne Remote Script Deployment, check out a live tour, or start your free trial of the NinjaOne platform.

Categorieën:

Dit vindt u misschien ook leuk

Ă—

Zie NinjaOne in actie!

Door dit formulier in te dienen geef ik aan akkoord te gaan met het privacybeleid van NinjaOne.

NinjaOne Algemene Voorwaarden

Door op de knop “Ik accepteer” hieronder te klikken, geeft u aan dat u de volgende wettelijke voorwaarden en onze Gebruiksvoorwaarden accepteert:

  • Eigendomsrechten: NinjaOne bezit en blijft eigenaar van alle rechten, aanspraken en belangen in en op het script (inclusief het auteursrecht). NinjaOne geeft u een beperkte licentie om het script te gebruiken in overeenstemming met deze wettelijke voorwaarden.
  • Gebruiksbeperking: U mag het script alleen gebruiken voor uw legitieme persoonlijke of interne bedrijfsdoeleinden en u mag het script niet delen met derden.
  • Republicatieverbod: Het is onder geen beding toegestaan om het script opnieuw te publiceren in een scriptbibliotheek die toebehoort aan of onder controle staat van een andere softwareleverancier.
  • Garantie disclaimer: Het script wordt geleverd “zoals het is” en “zoals het beschikbaar is”, zonder enige vorm van garantie. NinjaOne belooft of garandeert niet dat het script vrij van gebreken zal zijn of dat het aan uw specifieke behoeften of verwachtingen zal voldoen.
  • Risicoaanvaarding: Het gebruik van het script is op eigen risico. U erkent dat het gebruik van het script bepaalde inherente risico’s met zich meebrengt en u begrijpt en aanvaardt elk van deze risico’s.
  • Verklaring van afstand en vrijwaring: U zult NinjaOne niet verantwoordelijk houden voor enige nadelige of onbedoelde gevolgen die voortvloeien uit uw gebruik van het script en u doet afstand van alle wettelijke of billijke rechten of rechtsmiddelen die u tegen NinjaOne kunt hebben met betrekking tot uw gebruik van het script.
  • EULA: Als u een NinjaOne-klant bent, is uw gebruik van het script onderworpen aan de licentieovereenkomst voor eindgebruikers die op u van toepassing is (EULA).