128 lines
4.3 KiB
Bash
128 lines
4.3 KiB
Bash
#!/bin/bash
|
|
|
|
##########################################################################
|
|
# Shellscript : uninstallMicrosoftoffice
|
|
# Autor : Andreas Vogel, NEXT Enterprise GmbH, 2022
|
|
##########################################################################
|
|
|
|
#################
|
|
### Variables ###
|
|
#################
|
|
|
|
# Items at the system level to be removed
|
|
systemItems=(
|
|
/Applications/Microsoft\ Excel.app
|
|
/Applications/Microsoft\ OneNote.app
|
|
/Applications/Microsoft\ Outlook.app
|
|
/Applications/Microsoft\ PowerPoint.app
|
|
/Applications/Microsoft\ Word.app
|
|
/Applications/Microsoft\ Lync.app
|
|
/Library/Application\ Support/Microsoft/MAU2.0
|
|
/Library/Fonts/Microsoft
|
|
/Library/LaunchDaemons/com.microsoft.office.licensing.helper.plist
|
|
/Library/LaunchDaemons/com.microsoft.office.licensingV2.helper.plist
|
|
/Library/Preferences/com.microsoft.Excel.plist
|
|
/Library/Preferences/com.microsoft.office.plist
|
|
/Library/Preferences/com.microsoft.office.setupassistant.plist
|
|
/Library/Preferences/com.microsoft.outlook.databasedaemon.plist
|
|
/Library/Preferences/com.microsoft.outlook.office_reminders.plist
|
|
/Library/Preferences/com.microsoft.Outlook.plist
|
|
/Library/Preferences/com.microsoft.PowerPoint.plist
|
|
/Library/Preferences/com.microsoft.Word.plist
|
|
/Library/Preferences/com.microsoft.office.licensingV2.plist
|
|
/Library/Preferences/com.microsoft.autoupdate2.plist
|
|
/Library/Preferences/ByHost/com.microsoft
|
|
/Library/Receipts/Office2016_*
|
|
/Library/PrivilegedHelperTools/com.microsoft.office.licensing.helper
|
|
/Library/PrivilegedHelperTools/com.microsoft.office.licensingV2.helper
|
|
/Library/Application\ Support/JAMF/Receipts/Office* #replace with the receipt for your Office installer via Jamf
|
|
/Library/Application\ Support/JAMF/Receipts/Microsoft* #replace with your receipt for your Office/serializer via Jamf
|
|
/Library/Internet\ Plug-Ins/MeetingJoinPlugin.plugin
|
|
)
|
|
|
|
# Items at the user level to be removed
|
|
userItems=(
|
|
Library/Containers/com.microsoft.errorreporting
|
|
Library/Containers/com.microsoft.Excel
|
|
Library/Containers/com.microsoft.netlib.shipassertprocess
|
|
Library/Containers/com.microsoft.Office365ServiceV2
|
|
Library/Containers/com.microsoft.Outlook
|
|
Library/Containers/com.microsoft.Powerpoint
|
|
Library/Containers/com.microsoft.RMS-XPCService
|
|
Library/Containers/com.microsoft.Word
|
|
Library/Containers/com.microsoft.onenote.mac
|
|
Library/Group\ ContainersUBF8T346G9.ms/
|
|
Library/Group\ ContainersUBF8T346G9.Office/
|
|
Library/Group\ ContainersUBF8T346G9.OfficeOsfWebHost/
|
|
Library/Application\ Scripts/com.microsoft.Office365ServiceV2
|
|
Library/Preferences/com.microsoft.Lync.plist
|
|
Library/Preferences/ByHost/MicrosoftLyncRegistrationDB.*.plist
|
|
Library/Logs/Microsoft-Lync*.log*
|
|
Documents/Microsoft\ User\ Data/Microsoft\ Lync\ Data/
|
|
Documents/Microsoft\ User\ Data/Microsoft\ Lync\ History/
|
|
Library/Keychains/OC_*
|
|
)
|
|
|
|
#################
|
|
### Functions ###
|
|
#################
|
|
|
|
function deleteItems()
|
|
{
|
|
declare -a toDelete=("${!1}")
|
|
|
|
for item in "${toDelete[@]}"
|
|
do
|
|
if [[ ! -z "${2}" ]]
|
|
then
|
|
item=("${2}""${item}")
|
|
fi
|
|
|
|
echo "Looking for $item"
|
|
|
|
if [ -e "${item}" ]
|
|
then
|
|
echo "MS Office Uninstall: Removing $item"
|
|
rm -rf "${item}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
####################
|
|
### Main Program ###
|
|
####################
|
|
|
|
# Kill the apps, if they are running
|
|
echo "MS Office Uninstall: Closing Office-related apps."
|
|
killall "Microsoft Excel"
|
|
killall "Microsoft Word"
|
|
killall "Microsoft PowerPoint"
|
|
killall "Microsoft Outlook"
|
|
killall "Microsoft OneNote"
|
|
killall "Microsoft Auto-Update"
|
|
killall "Microsoft Lync"
|
|
killall "Microsoft Update Assistant"
|
|
|
|
# Delete system level items
|
|
deleteItems systemItems[@]
|
|
|
|
# Delete user level items
|
|
for dirs in /Users/*/
|
|
do
|
|
deleteItems userItems[@] "${dirs}"
|
|
done
|
|
|
|
# Delete package receipts
|
|
echo "MS Office Uninstall: Removing package receipts."
|
|
pkgutil --forget com.microsoft.package.Fonts
|
|
pkgutil --forget com.microsoft.package.Microsoft_AutoUpdate.app
|
|
pkgutil --forget com.microsoft.package.Microsoft_Excel.app
|
|
pkgutil --forget com.microsoft.package.Microsoft_OneNote.app
|
|
pkgutil --forget com.microsoft.package.Microsoft_Outlook.app
|
|
pkgutil --forget com.microsoft.package.Microsoft_PowerPoint.app
|
|
pkgutil --forget com.microsoft.package.Microsoft_Word.app
|
|
pkgutil --forget com.microsoft.package.Microsoft_Lync.app
|
|
pkgutil --forget com.microsoft.package.Proofing_Tools
|
|
pkgutil --forget com.microsoft.package.licensing
|
|
|
|
exit 0 |