{"id":808342,"date":"2026-05-14T07:02:07","date_gmt":"2026-05-14T07:02:07","guid":{"rendered":"https:\/\/www.ninjaone.com\/?post_type=script_hub&#038;p=808342"},"modified":"2026-05-14T07:02:07","modified_gmt":"2026-05-14T07:02:07","slug":"como-desinstalar-aplicativos-macos-shell-script","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/pt-br\/script-hub\/como-desinstalar-aplicativos-macos-shell-script\/","title":{"rendered":"Como automatizar a desinstala\u00e7\u00e3o de aplicativos no macOS com o Shell Script"},"content":{"rendered":"<p>Quando se trata do macOS, h\u00e1 v\u00e1rios caminhos para <strong>desinstalar aplicativos<\/strong>: arrastar e soltar na lixeira, usar um desinstalador dedicado ou usar o Launchpad. No entanto, esses m\u00e9todos geralmente n\u00e3o t\u00eam a efici\u00eancia e a automa\u00e7\u00e3o necess\u00e1rias para opera\u00e7\u00f5es de grande escala em ambientes de TI. Para profissionais de TI e provedores de servi\u00e7os gerenciados (MSPs) encarregados de gerenciar uma frota de dispositivos Mac, o uso de um script <a href=\"https:\/\/www.ninjaone.com\/it-hub\/remote-access\/what-is-a-shell\/\">de shell<\/a> para essa finalidade se torna o m\u00e9todo mais eficiente e eficaz.<\/p>\n<h2>Desinstala\u00e7\u00e3o de aplicativos no macOS com o Shell Script<\/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>Acesse mais de 300 scripts no NinjaOne Dojo<\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/freetrialform\/\">Obter acesso<\/a><\/p>\n<\/div>\n<h2>A Anatomia do Roteiro: Como funciona<\/h2>\n<p><strong>Utilizando o <\/strong><strong>mdfind<\/strong><strong> e <\/strong><strong>system_profiler<\/strong><\/p>\n<p><strong>O<\/strong> script emprega utilit\u00e1rios nativos do macOS para realizar sua tarefa. <strong>O mdfind<\/strong>, uma parte do Spotlight, \u00e9 usado inicialmente para consultar os metadados dos arquivos. Isso permite que o script compile uma lista de todos os pacotes de aplicativos, concentrando-se apenas naqueles localizados em <strong>\/Applications<\/strong> e <strong>\/Users\/&lt;username&gt;<\/strong>\/Applications.<\/p>\n<p>o <strong>system_profiler<\/strong>, outro utilit\u00e1rio do macOS, re\u00fane informa\u00e7\u00f5es detalhadas sobre os aplicativos instalados. Quando usado com o <strong>SPApplicationsDataType<\/strong>, ele lista todos os aplicativos instalados no computador.<\/p>\n<h2>Filtragem de resultados com o grep<\/h2>\n<p>O utilit\u00e1rio de linha de comando grep \u00e9 usado duas vezes no script. A primeira ocorr\u00eancia filtra a sa\u00edda do <strong>system_profiler<\/strong> para encontrar caminhos que come\u00e7am com \/Applications ou com \/Users\/&lt;username&gt;\/Applications. O segundo uso restringe esses resultados para corresponder ao nome exato do aplicativo especificado.<\/p>\n<h2>O poderoso rm<\/h2>\n<p>A desinstala\u00e7\u00e3o real ocorre com o comando rm -rf, um poderoso utilit\u00e1rio que remove arquivos e diret\u00f3rios. Aqui, ele tem como alvo o pacote de aplicativos encontrado pelos comandos anteriores e o remove do sistema.<\/p>\n\n<h2>As vantagens da automa\u00e7\u00e3o: Por que usar esse script<\/h2>\n<h3>Economia de tempo<\/h3>\n<p>Automa\u00e7\u00e3o \u00e9 sin\u00f4nimo de economia de tempo. Esse script elimina a tediosidade da desinstala\u00e7\u00e3o manual, permitindo que a equipe de TI se concentre em tarefas mais importantes.<\/p>\n<h3>Escalabilidade<\/h3>\n<p>O script pode ser parte de um esquema de automa\u00e7\u00e3o mais abrangente. Imagine incorpor\u00e1-lo a uma ferramenta de gerenciamento de sistemas que aciona remotamente esse script em todos os dispositivos Mac em uma rede. A escalabilidade aqui \u00e9 imensa.<\/p>\n<h3>Precis\u00e3o<\/h3>\n<p>Ao contr\u00e1rio dos m\u00e9todos manuais, em que o erro humano \u00e9 um fator, o script \u00e9 programado para encontrar o pacote exato de aplicativos, reduzindo assim as chances de exclus\u00f5es n\u00e3o intencionais ou neglig\u00eancias.<\/p>\n<h3>Flexibilidade<\/h3>\n<p>Com a capacidade de especificar o nome exato do aplicativo como um argumento, voc\u00ea pode adaptar o processo de desinstala\u00e7\u00e3o \u00e0s suas necessidades espec\u00edficas. Envolva esse script em outro script e voc\u00ea ter\u00e1 uma ferramenta poderosa para desinstalar v\u00e1rios aplicativos sequencialmente.<\/p>\n<h3>Benef\u00edcios de conformidade<\/h3>\n<p>Nos setores que s\u00e3o regulamentados ou que t\u00eam padr\u00f5es de conformidade rigorosos, a n\u00e3o remo\u00e7\u00e3o de aplicativos n\u00e3o compat\u00edveis ou n\u00e3o autorizados pode resultar em penalidades. A automa\u00e7\u00e3o do processo de desinstala\u00e7\u00e3o garante que voc\u00ea esteja sempre em conformidade com o m\u00ednimo de esfor\u00e7o.<\/p>\n<h2>Concluindo<\/h2>\n<p>O NinjaOne \u00e9 uma <a href=\"https:\/\/www.ninjaone.com\/pt-br\/\">plataforma de gerenciamento de TI baseada em nuvem<\/a> que pode ser usada para automatizar uma variedade de tarefas, incluindo a desinstala\u00e7\u00e3o de aplicativos. Com o NinjaOne, voc\u00ea pode criar uma pol\u00edtica que executa o script de shell. Essa pol\u00edtica pode ser programada para ser executada de forma recorrente ou pode ser acionada por um evento espec\u00edfico, como a instala\u00e7\u00e3o de um novo aplicativo.<\/p>\n<p>Aqui est\u00e3o as etapas sobre como usar o NinjaOne para automatizar o script de desinstala\u00e7\u00e3o do aplicativo:<\/p>\n<ol>\n<li>Crie uma pol\u00edtica no NinjaOne.<\/li>\n<li>Na pol\u00edtica, selecione a a\u00e7\u00e3o &#8220;Script&#8221;.<\/li>\n<li>Cole o script de shell no editor de scripts.<\/li>\n<li>Na se\u00e7\u00e3o &#8220;Arguments&#8221; (Argumentos), especifique o nome do aplicativo que deseja desinstalar.<\/li>\n<li>Programe a pol\u00edtica para ser executada em uma base recorrente ou acione-a por um evento espec\u00edfico.<\/li>\n<\/ol>\n<p>Depois que a pol\u00edtica for criada, ela desinstalar\u00e1 automaticamente o aplicativo especificado de todos os dispositivos macOS gerenciados pelo NinjaOne. Isso pode economizar uma quantidade significativa de tempo e esfor\u00e7o, al\u00e9m de ajud\u00e1-lo a garantir que todos os seus dispositivos macOS estejam em conformidade com as pol\u00edticas de seguran\u00e7a da sua organiza\u00e7\u00e3o.<\/p>\n<p>Aqui est\u00e3o alguns benef\u00edcios adicionais de usar o NinjaOne para automatizar o script de desinstala\u00e7\u00e3o do aplicativo:<\/p>\n<ul>\n<li>Gerenciamento centralizado: O NinjaOne oferece um console centralizado no qual voc\u00ea pode gerenciar todos os seus dispositivos macOS. Isso facilita a cria\u00e7\u00e3o e a implementa\u00e7\u00e3o de pol\u00edticas, al\u00e9m de facilitar o rastreamento do status de seus dispositivos.<\/li>\n<li>Escalabilidade: O NinjaOne pode ser dimensionado para gerenciar um grande n\u00famero de dispositivos macOS. Isso o torna uma boa op\u00e7\u00e3o para organiza\u00e7\u00f5es com uma grande infraestrutura de TI.<\/li>\n<li>Seguran\u00e7a: O NinjaOne \u00e9 uma plataforma segura que usa criptografia padr\u00e3o do setor para proteger seus dados. Isso ajuda a garantir que os scripts de desinstala\u00e7\u00e3o de aplicativos sejam seguros e que seus dados estejam protegidos.<\/li>\n<\/ul>\n","protected":false},"author":35,"featured_media":142116,"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":[12456],"class_list":["post-808342","script_hub","type-script_hub","status-publish","has-post-thumbnail","hentry","script_hub_category-macos"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/script_hub\/808342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/comments?post=808342"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media\/142116"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/media?parent=808342"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/operating_system?post=808342"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/pt-br\/wp-json\/wp\/v2\/use_cases?post=808342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}