#!/bin/bash # Script to completely remove TeamViewer from macOS # This script should be run with root privileges via MDM # Exit immediately if a command exits with a non-zero status set -e # Display a message indicating the uninstallation has started echo "Starting TeamViewer uninstallation process..." # Kill all running TeamViewer processes echo "Stopping TeamViewer processes..." pkill -f "TeamViewer" || echo "No TeamViewer processes found running" # Remove the main application echo "Removing TeamViewer application..." rm -rf /Applications/TeamViewer.app # Remove TeamViewer related files from various Library locations echo "Removing TeamViewer related files..." # System Library files rm -rf /Library/Application\ Support/TeamViewer rm -rf /Library/Preferences/com.teamviewer* # User Library files (for all users) for USER_HOME in /Users/*; do if [ -d "$USER_HOME/Library" ]; then echo "Cleaning up TeamViewer files for user: $(basename "$USER_HOME")" rm -rf "$USER_HOME/Library/Application Support/TeamViewer" rm -rf "$USER_HOME/Library/Preferences/com.teamviewer*" rm -rf "$USER_HOME/Library/Caches/com.teamviewer*" rm -rf "$USER_HOME/Library/Logs/TeamViewer*" rm -rf "$USER_HOME/Library/Saved Application State/com.teamviewer.TeamViewer.savedState" fi done # Remove Launch Agents and Daemons echo "Removing TeamViewer launch agents and daemons..." rm -f /Library/LaunchAgents/com.teamviewer* rm -f /Library/LaunchDaemons/com.teamviewer* # Remove per-user launch agents for USER_HOME in /Users/*; do if [ -d "$USER_HOME/Library/LaunchAgents" ]; then rm -f "$USER_HOME/Library/LaunchAgents/com.teamviewer*" fi done # Remove TeamViewer from Login Items for all users for USER_HOME in /Users/*; do if [ -d "$USER_HOME/Library" ]; then USER=$(basename "$USER_HOME") # Remove TeamViewer from login items - redirecting errors to /dev/null su - "$USER" -c "osascript -e 'tell application \"System Events\" to delete login item \"TeamViewer\"'" 2>/dev/null || true fi done # For older versions of TeamViewer/macOS that might have kernel extensions echo "Checking for TeamViewer kernel extensions..." if [ -d "/Library/Extensions/TeamViewerHelper.kext" ]; then echo "Removing TeamViewer kernel extension..." rm -rf /Library/Extensions/TeamViewerHelper.kext # Update kernel extension cache touch /Library/Extensions kextcache -system-caches fi # Clean up receipts echo "Removing installation receipts..." rm -rf /private/var/db/receipts/com.teamviewer* # Remove any remaining components (Helper Tools) rm -rf /Library/PrivilegedHelperTools/com.teamviewer.Helper rm -rf /Library/PrivilegedHelperTools/com.teamviewer.desktopapp.Helper echo "TeamViewer has been successfully removed from this system." exit 0