{"id":208530,"date":"2023-12-04T15:06:32","date_gmt":"2023-12-04T15:06:32","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/wie-man-apps-unter-masos-mit-einem-shell-skrip-deinstalliert\/"},"modified":"2024-02-28T22:16:23","modified_gmt":"2024-02-28T22:16:23","slug":"wie-man-apps-unter-masos-mit-einem-shell-skrip-deinstalliert","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/de\/script-hub\/wie-man-apps-unter-masos-mit-einem-shell-skrip-deinstalliert\/","title":{"rendered":"Die Automatisierung der Anwendungsdeinstallation unter macOS mithilfe eines Shell-Skripts erkl\u00e4rt"},"content":{"rendered":"<p>Im Hinblick auf macOS gibt es verschiedene M\u00f6glichkeiten, um Apps zu <strong>deinstallieren<\/strong>: Sie k\u00f6nnen sie in den Papierkorb ziehen und ablegen, einen speziellen Deinstallationsprogramm verwenden oder den Weg \u00fcber das Launchpad w\u00e4hlen. Diese Methoden fehlen jedoch oft an Effizienz und Automatisierung, die in IT-Umgebungen f\u00fcr Gro\u00dfbetriebe erforderlich sind. F\u00fcr IT-Experten und Managed Service Provider (MSPs), die mit der Verwaltung einer Gruppe von Mac-Ger\u00e4ten betraut sind, stellt die Verwendung eines Shell-Skripts f\u00fcr diesen Zweck die effizienteste und wirksamste Methode dar.<\/p>\n<h2>Apps auf macOS deinstallieren mit Shell-Skript<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">#!\/usr\/bin\/env bash\r\n# 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.\r\n#\r\n# Release Notes: Initial Release\r\n# 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.\r\n# 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. \r\n# 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. \r\n# 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. \r\n# Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, 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. \r\n# 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. \r\n# 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. \r\n# EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n#\r\n# Usage:\r\n#  &lt;ApplicationName.app&gt;\r\n# Accepts only one application\r\n# Specify the exact name of the application.\r\n# Applications with space(s) in the name will need double quotes surrounding it. Example: \"Google Chrome.app\"\r\n# As macOS's file system is typically case sensitive, matching the case is important.\r\n#\r\n# EXAMPLE\r\n#  If we have \/Applications\/Docker.app installed.\r\n#  Then our argument would be:\r\n#    Docker.app\r\n# EXAMPLE\r\n#  If we have \/Applications\/Google Chrome.app installed.\r\n#  Then our argument would be:\r\n#    \"Google Chrome.app\"\r\nAPP=$1\r\n# Get a list of all installed app's, filter to only have \/Applications and \/User\/&lt;username&gt;\/Applications, filter the requested app, select the first found app\r\nmdfind kMDItemContentTypeTree=com.apple.application-bundle -onlyin &gt;\/dev\/null\r\nAPP_TO_UNINSTALL=$(system_profiler SPApplicationsDataType 2&gt;\/dev\/null | sed -n 's\/^ *Location: (.*)\/1\/p' | grep -E '^\/Applications.*|\/Users\/.+\/Applications.*' | grep \"${APP}\" | head -n 1)\r\necho \"Found ${APP_TO_UNINSTALL}\"\r\necho \"Removing ${APP_TO_UNINSTALL}\"\r\n# Remove app\r\nrm -rf \"${APP_TO_UNINSTALL}\"\r\nstatus=$?\r\n# Output result\r\n[ $status -eq 0 ] &amp;&amp; echo \"Removed ${APP_TO_UNINSTALL}\" || echo \"Failed to remove ${APP_TO_UNINSTALL}\"\r\n# Return status\r\nexit $status\r\n<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"in-context-cta\"><p>Zugriff auf \u00fcber 300 Skripte im NinjaOne Dojo<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/de\/kostenlosetestversionformular\/\">Zugang erhalten<\/a><\/p>\n<\/div>\n<h2>Die Struktur des Skripts: Funktionsweise<\/h2>\n<p><strong>Verwendung von <\/strong><strong>mdfind<\/strong><strong> und <\/strong><strong>system_profiler<\/strong><\/p>\n<p>Das Skript verwendet macOS-eigene Dienstprogramme, um seine Aufgabe zu erf\u00fcllen. <strong>mdfind<\/strong>, ein Teil von Spotlight, wird zun\u00e4chst zur Abfrage der Metadaten von Dateien verwendet. Dadurch kann das Skript eine Liste aller Anwendungs-Bundles erstellen, wobei es sich nur auf die Bundles konzentriert, die sich in <strong>\/Applications<\/strong> und <strong>\/Users\/&lt;username&gt;\/Applications<\/strong> befinden.<\/p>\n<p><strong>system_profiler<\/strong>, ein weiteres macOS-Dienstprogramm, sammelt detaillierte Informationen \u00fcber die installierten Programme. Bei Verwendung mit <strong>SPApplicationsDataType<\/strong> werden alle auf dem Rechner installierten Anwendungen aufgelistet.<\/p>\n<h2>Ergebnisse filtern mit grep<\/h2>\n<p>Die Website grep wird in dem Skript zweimal verwendet. Das erste Vorkommen filtert die Ausgabe von <strong>system_profiler<\/strong> durch, um Pfade zu finden, die entweder mit \/Applications beginnen oder mit \/Users\/&lt;Benutzername&gt;\/Applications. Die zweite Verwendung grenzt diese Ergebnisse ein, um genau den Namen der angegebenen Anwendung abzugleichen.<\/p>\n<h2>Der kraftvolle Befehl rm<\/h2>\n<p>Die eigentliche Deinstallation erfolgt mit dem Befehl rm -rf Befehl, einem leistungsf\u00e4higen Dienstprogramm zum Entfernen von Dateien und Verzeichnissen. An dieser Stelle zielt es auf das Anwendungs-Bundle ab, das durch die vorherige Befehle gefunden wurde, und entfernt es aus dem System.<\/p>\n\n<h2>Die Vorteile der Automatisierung: Gr\u00fcnde f\u00fcr die Verwendung dieses Skripts<\/h2>\n<h3>Zeitersparnis<\/h3>\n<p>Automatisierung steht f\u00fcr Zeitersparnis. Dieses Skript beseitigt die m\u00fchsame manuelle Deinstallation und erm\u00f6glicht IT-Personal, sich auf wichtigere Aufgaben zu konzentrieren.<\/p>\n<h3>Skalierbarkeit<\/h3>\n<p>Das Skript kann Teil eines umfassenderen Automatisierungsplans sein. Stellen Sie sich vor, dieses Skript in ein Systemverwaltungstool zu integrieren, das dieses Skript remote auf allen Mac-Ger\u00e4ten in einem Netzwerk ausl\u00f6st. Die Skalierbarkeit in diesem Fall ist enorm.<\/p>\n<h3>Richtigkeit<\/h3>\n<p>Im Gegensatz zu manuellen Methoden, bei denen menschliche Fehler eine Rolle spielen, ist das Skript darauf programmiert, das genaue Anwendungsbundle zu finden, wodurch die Wahrscheinlichkeit unbeabsichtigter L\u00f6schungen oder \u00dcbersehen verringert wird.<\/p>\n<h3>Flexibilit\u00e4t<\/h3>\n<p>Durch die M\u00f6glichkeit, den genauen Namen der Anwendung als Argument anzugeben, k\u00f6nnen Sie den Deinstallationsprozess an Ihre spezifischen Anforderungen anpassen. Wenn Sie dieses Skript in ein anderes Skript einbetten, erhalten Sie ein leistungsstarkes Werkzeug, um mehrere Anwendungen nacheinander zu deinstallieren.<\/p>\n<h3>Compliance-Vorteile<\/h3>\n<p>In Branchen, die reguliert sind oder strenge Compliance-Standards haben, kann das Vers\u00e4umnis, nicht konforme oder nicht autorisierte Anwendungen zu entfernen, zu Sanktionen f\u00fchren. Durch die Automatisierung des Deinstallationsprozesses wird sichergestellt, dass Sie ohne \u00fcberm\u00e4\u00dfigen Aufwand stets die Compliance-Anforderungen befolgen.<\/p>\n<h2>Zusammenfassung<\/h2>\n<p>NinjaOne ist eine <a href=\"https:\/\/www.ninjaone.com\/de\/\">Cloud-basierte IT-Management-Plattform<\/a>, mit der eine Vielzahl von Aufgaben automatisiert werden kann, einschlie\u00dflich der Deinstallation von Apps. Mit NinjaOne k\u00f6nnen Sie eine Richtlinie erstellen, die das Shell-Skript ausf\u00fchrt. Diese Vorschrift kann wiederholt ausgef\u00fchrt werden oder durch ein bestimmtes Ereignis aktiviert werden, wie beispielsweise die Installation einer neuen App.<\/p>\n<p>Im Folgenden finden Sie die Schritte zur Verwendung von NinjaOne zur Automatisierung des App-Deinstallations-Skripts:<\/p>\n<ol>\n<li>Erstellen Sie eine Richtlinie in NinjaOne.<\/li>\n<li>In der Richtlinie w\u00e4hlen Sie die Aktion &#8222;Skript&#8220; aus.<\/li>\n<li>F\u00fcgen Sie das Shell-Skript in den Skript-Editor ein.<\/li>\n<li>Geben Sie im Abschnitt &#8222;Argumente&#8220; den Namen der Anwendung an, die Sie deinstallieren m\u00f6chten.<\/li>\n<li>Planen Sie die Ausf\u00fchrung der Richtlinie wiederkehrend oder l\u00f6sen Sie sie durch ein spezifisches Ereignis aus.<\/li>\n<\/ol>\n<p>Sobald die Richtlinie erstellt ist, deinstalliert sie automatisch die angegebene Anwendung von allen macOS-Ger\u00e4ten, die von NinjaOne verwaltet werden. Nachdem die Richtlinie erstellt wurde, erfolgt die automatische Deinstallation der angegebenen App auf allen von NinjaOne verwalteten macOS-Ger\u00e4ten.<\/p>\n<p>Hier sind einige zus\u00e4tzliche Vorteile der Verwendung von NinjaOne zur Automatisierung des App-Deinstallations-Skripts:<\/p>\n<ul>\n<li>Zentralisierte Verwaltung: Mit NinjaOne erhalten Sie eine zentrale Steuerungseinheit, \u00fcber die Sie s\u00e4mtliche Ihrer macOS-Ger\u00e4te verwalten k\u00f6nnen. Dies erleichtert die Erstellung und Bereitstellung von Richtlinien und erleichtert auch die Verfolgung des Status Ihrer Ger\u00e4te.<\/li>\n<li>Skalierbarkeit: NinjaOne kann problemlos erweitert werden, um eine umfangreiche Anzahl von macOS-Ger\u00e4ten zu managen. Das macht es zu einer guten Wahl f\u00fcr Unternehmen mit einer umfangreichen IT-Infrastruktur.<\/li>\n<li>Sicherheit: NinjaOne ist eine sichere Plattform, die branchen\u00fcbliche Verschl\u00fcsselungstechnologien verwendet, um Ihre Daten zu sch\u00fctzen. Dies tr\u00e4gt dazu bei, sicherzustellen, dass Ihre App-Deinstallations-Skripte sicher sind und dass Ihre Daten gesch\u00fctzt werden.<\/li>\n<\/ul>\n","protected":false},"author":35,"featured_media":206942,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"no","_lmt_disable":""},"operating_system":[4210],"use_cases":[4280],"class_list":["post-208530","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-macos","use_cases-system-konfiguration"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub\/208530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/comments?post=208530"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/media\/206942"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/media?parent=208530"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/operating_system?post=208530"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/de\/wp-json\/wp\/v2\/use_cases?post=208530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}