Created
March 4, 2025 04:51
-
-
Save fred/620d60cb8f48e518892d95879ceb7559 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment