mirror of
https://github.com/MLBZ521/MacAdmin.git
synced 2026-02-03 14:03:26 +00:00
95 lines
3.3 KiB
Bash
95 lines
3.3 KiB
Bash
#!/bin/bash
|
|
|
|
###################################################################################################
|
|
# Script Name: Uninstall-CoreShellHelper.sh
|
|
# By: Zack Thompson / Created: 4/5/2021
|
|
# Version: 1.0.0 / Updated: 4/5/2021 / By: ZT
|
|
#
|
|
# Description: This script uninstalls CoreShell Helper.
|
|
#
|
|
###################################################################################################
|
|
|
|
echo "***** Uninstall Core Shell Helper process: START *****"
|
|
|
|
##################################################
|
|
# Define Variables
|
|
|
|
# Get OS Version Details
|
|
os_version=$( /usr/bin/sw_vers -productVersion )
|
|
os_major_version=$( echo "${os_version}" | /usr/bin/awk -F '.' '{print $1}' )
|
|
os_minor_patch_version=$( echo "${os_version}" | /usr/bin/awk -F '.' '{print $2"."$3}' )
|
|
|
|
# Get the Console User
|
|
console_user=$( /usr/sbin/scutil <<< "show State:/Users/ConsoleUser" | /usr/bin/awk '/Name :/ && ! /loginwindow/ { print $3 }' )
|
|
|
|
# Get the Console Users' UniqueID
|
|
console_uid=$( /usr/bin/id -u "${console_user}" )
|
|
|
|
# Core Shell Details
|
|
launch_agent_label="E78WKS7W4U.io.coressh.helper"
|
|
launch_agent_location="/Library/LaunchAgents/${launch_agent_label}.plist"
|
|
coressh_helper="/Library/PrivilegedHelperTools/io.coressh.Helper.app"
|
|
|
|
##################################################
|
|
# Bits staged...
|
|
|
|
# Verify install is being performed on the boot volume
|
|
if [[ "${3}" = "/" ]]; then
|
|
|
|
if [[ -z "${console_uid}" || "${console_user}" == "loginwindow" ]]; then
|
|
|
|
echo "Notice: A console user is not currently logged in, will not attempt to unload the LaunchAgent"
|
|
|
|
else
|
|
|
|
if [[ -e "${launch_agent_location}" ]]; then
|
|
|
|
# Check if the LaunchAgent is running before loading it again.
|
|
# Determine proper launchctl syntax based on OS Version.
|
|
# macOS 11+ or macOS 10.11+
|
|
if [[ $( /usr/bin/bc <<< "${os_major_version} >= 11" ) -eq 1 || ( "${os_major_version}" == 10 && $( /usr/bin/bc <<< "${os_minor_patch_version} >= 11" ) -eq 1 ) ]]; then
|
|
|
|
launchctl_exit_code=$( /bin/launchctl print gui/"${console_uid}"/"${launch_agent_label}" > /dev/null 2>&1; echo $? )
|
|
|
|
if [[ $launchctl_exit_code == 0 ]]; then
|
|
echo "Stopping agent: ${launch_agent_location}"
|
|
/bin/launchctl bootout gui/"${console_uid}"/"${launch_agent_label}"
|
|
|
|
fi
|
|
|
|
# macOS 10.x - macOS 10.10
|
|
elif [[ "${os_major_version}" == 10 && $( /usr/bin/bc <<< "${os_minor_patch_version} <= 10" ) -eq 1 ]]; then
|
|
|
|
launchctl_exit_code=$( /bin/launchctl asuser "${console_uid}" /bin/launchctl list "${launch_agent_label}" > /dev/null 2>&1; echo $? )
|
|
|
|
if [[ $launchctl_exit_code == 0 ]]; then
|
|
echo "Stopping agent: ${launch_agent_location}"
|
|
/bin/launchctl asuser "${console_uid}" /bin/launchctl unload "${launch_agent_location}"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
# Remove files
|
|
if [[ -e "${launch_agent_location}" ]]; then
|
|
|
|
echo "Removing LaunchAgent..."
|
|
/bin/rm -rf "${launch_agent_location}"
|
|
|
|
fi
|
|
|
|
if [[ -e "${coressh_helper}" ]]; then
|
|
|
|
echo "Removing CoreShell Helper..."
|
|
/bin/rm -rf "${coressh_helper}"
|
|
|
|
fi
|
|
|
|
echo "***** Uninstall Core Shell Helper process: COMPLETE *****"
|
|
exit 0 |