Last active
July 20, 2025 16:02
-
-
Save karladler/e6eef68929b583ae3e4b3d350047f385 to your computer and use it in GitHub Desktop.
Revisions
-
karladler revised this gist
Jul 20, 2025 . 1 changed file with 123 additions and 22 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -1,55 +1,156 @@ #!/bin/bash # Microsoft Teams Cleanup Script # This script removes all Microsoft Teams related cache, data, and preference files # Based on analysis of actual Teams installations and Microsoft support documentation # List of known Microsoft Teams-related folders (optimized - only shortest paths) teams_folders=( # Original Application Support folders "$HOME/Library/Application Support/Microsoft/Teams" # Caches "$HOME/Library/Caches/com.microsoft.teams.shipit" "$HOME/Library/Caches/com.microsoft.teams" # Containers "$HOME/Library/Containers/com.microsoft.teams2.respawn" "$HOME/Library/Containers/com.microsoft.teams2" "$HOME/Library/Containers/com.microsoft.teams2.notificationcenter" # Group Containers "$HOME/Library/Group Containers/UBF8T346G9.com.microsoft.oneauth" "$HOME/Library/Group Containers/UBF8T346G9.com.microsoft.teams" "$HOME/Library/Group Containers/UBF8T346G9.ms" # Logs "$HOME/Library/Logs/Microsoft Teams" # Preferences "$HOME/Library/Preferences/com.microsoft.teams.plist" "$HOME/Library/Preferences/com.microsoft.teams.ShipIt.plist" # Application Scripts "$HOME/Library/Application Scripts/com.microsoft.teams2" "$HOME/Library/Application Scripts/UBF8T346G9.com.microsoft.teams" "$HOME/Library/Application Scripts/UBF8T346G9.com.microsoft.oneauth" # Browser cache for Teams (Chrome) "$HOME/Library/Application Support/Google/Chrome/Default/IndexedDB/https_teams.microsoft.com_0.indexeddb.leveldb" "$HOME/Library/Application Support/Google/Chrome/Default/IndexedDB/https_teams.microsoft.com_0.indexeddb.blob" "$HOME/Library/Application Support/Google/Chrome/Profile 1/IndexedDB/https_teams.microsoft.com_0.indexeddb.leveldb" "$HOME/Library/Application Support/Google/Chrome/Default/IndexedDB/https_teams.live.com_0.indexeddb.leveldb" # Additional cache and crash reporter files "$HOME/Library/Application Support/CrashReporter/MSTeams_A00961D1-48AE-5C55-9BA3-E3A53F4AD00B.plist" # Temporary helper files "$HOME/Library/Containers/com.microsoft.teams2/Data/tmp/.com.microsoft.teams2.helper.*" ) echo "Starting Enhanced Microsoft Teams cleanup..." echo "This script will remove all Microsoft Teams related cache, data, and preference files." echo "This includes:" echo "- Application cache and data" echo "- Browser cache for Teams" echo "- Container data and preferences" echo "- Crash reports and logs" echo "- Temporary files" echo "" # Function to safely remove directories remove_directory() { local dir="$1" if [ -e "$dir" ]; then echo "Found: $dir" read -p "Delete this folder? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo "Deleting: $dir" rm -rf "$dir" echo "✓ Deleted: $dir" else echo "Skipping: $dir" fi else echo "Not found: $dir" fi } # Process each folder for folder in "${teams_folders[@]}"; do # Handle wildcard patterns if [[ "$folder" == *"*"* ]]; then # Expand wildcards and process each match for expanded_folder in $folder; do if [ -e "$expanded_folder" ]; then remove_directory "$expanded_folder" fi done else remove_directory "$folder" fi done echo "" echo "=== Keychain Cleanup ===" echo "Do you want to delete OneAuthAccount from keychain?" read -p "Delete OneAuthAccount? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then security delete-generic-password -s OneAuthAccount 2>/dev/null echo "✓ OneAuthAccount deleted from keychain" else echo "Skipping OneAuthAccount deletion" fi echo "Do you want to delete additional Teams-related keychain entries?" read -p "Delete Teams keychain entries? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then # Delete Teams-related keychain entries security delete-generic-password -s "com.microsoft.teams2" 2>/dev/null || echo "No Teams2 keychain entry found" security delete-generic-password -s "com.microsoft.teams" 2>/dev/null || echo "No Teams keychain entry found" security delete-generic-password -s "UBF8T346G9.com.microsoft.teams" 2>/dev/null || echo "No Teams group container keychain entry found" echo "✓ Teams keychain entries deleted" else echo "Skipping Teams keychain entries deletion" fi echo "" echo "=== Additional Cleanup Options ===" echo "Do you want to clear Teams browser cache for other browsers?" read -p "Clear Teams browser cache? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then # Safari Teams cache if [ -d "$HOME/Library/Safari/LocalStorage/https_teams.microsoft.com_0.localstorage" ]; then rm -rf "$HOME/Library/Safari/LocalStorage/https_teams.microsoft.com_0.localstorage" echo "✓ Safari Teams cache cleared" fi # Firefox Teams cache (if exists) find "$HOME/Library/Application Support/Firefox" -name "*teams*" -type d 2>/dev/null | while read -r firefox_cache; do rm -rf "$firefox_cache" echo "✓ Firefox Teams cache cleared: $firefox_cache" done else echo "Skipping browser cache cleanup" fi echo "" echo "=== Cleanup Summary ===" echo "Enhanced Microsoft Teams cleanup completed!" echo "" echo "Additional manual cleanup options:" echo "1. Open Keychain Access to manually review and delete any remaining Teams-related entries:" echo " open -a Keychain\\ Access" echo "" echo "2. Restart your computer to ensure all changes take effect" echo "" echo "3. If you're still experiencing issues, you may need to:" echo " - Uninstall and reinstall Microsoft Teams" echo " - Clear your browser cache completely" echo " - Check for any remaining Teams processes: ps aux | grep -i teams" echo "" echo "Note: This script removes all Teams data. You will need to sign in again after cleanup." -
karladler created this gist
Jul 20, 2025 .There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,55 @@ #!/bin/bash # List of known Microsoft Teams-related folders teams_folders=( "$HOME/Library/Application Support/Microsoft/Teams" "$HOME/Library/Application Support/Microsoft/Teams/Application Cache/Cache" "$HOME/Library/Application Support/Microsoft/Teams/blob_storage" "$HOME/Library/Application Support/Microsoft/Teams/Cache" "$HOME/Library/Application Support/Microsoft/Teams/databases" "$HOME/Library/Application Support/Microsoft/Teams/GPUCache" "$HOME/Library/Application Support/Microsoft/Teams/IndexedDB" "$HOME/Library/Application Support/Microsoft/Teams/Local Storage" "$HOME/Library/Application Support/Microsoft/Teams/tmp" "$HOME/Library/Caches/com.microsoft.teams.shipit" "$HOME/Library/Caches/com.microsoft.teams" "$HOME/Library/Containers/com.microsoft.teams2.respawn" "$HOME/Library/Containers/com.microsoft.teams2" "$HOME/Library/Group Containers/UBF8T346G9.com.microsoft.oneauth" "$HOME/Library/Group Containers/UBF8T346G9.com.microsoft.teams" "$HOME/Library/Group Containers/UBF8T346G9.ms" "$HOME/Library/Logs/Microsoft Teams" "$HOME/Library/Preferences/com.microsoft.teams.plist" "$HOME/Library/Preferences/com.microsoft.teams.ShipIt.plist" ) echo "Starting Microsoft Teams cleanup..." for folder in "${teams_folders[@]}"; do if [ -e "$folder" ]; then echo "Found: $folder" read -p "Really delete this folder? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo "Deleting: $folder" rm -rf "$folder" else echo "Skipping: $folder" fi else echo "Not found: $folder" fi done echo "Do you want to delete OneAuthAccount from keychain?" read -p "Delete OneAuthAccount? (y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then security delete-generic-password -s OneAuthAccount echo "OneAuthAccount deleted from keychain" else echo "Skipping OneAuthAccount deletion" fi echo "Cleanup completed. You can manually remove additional keys from keychain:" open -a Keychain\ Access