This commit is contained in:
wattsy74
2021-12-02 15:33:06 +00:00
4 changed files with 129 additions and 23 deletions

34
Helpers/purple-helpers.sh Executable file
View File

@@ -0,0 +1,34 @@
#!/bin/bash
# Remove Old Files
echo Making App Support Directories
mkdir -p /Library/Application\ Support/Purple/
echo Cleaning App Support Cache and Log Directories
rm -rf /Library/Application\ Support/Purple/*
# Pull latest files
echo Downloading Image Files
curl -o /Library/Application\ Support/Purple/logo.png https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/PurpleLogos/logo.png
curl -o /Library/Application\ Support/Purple/logo-dark.png https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/PurpleLogos/logo-dark.png
curl -o /Library/Application\ Support/Purple/purple-icon.png https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/PurpleLogos/purple-icon.png
echo Downloading Scripts
curl -o /Library/Application\ Support/Purple/launch-dep.sh https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/Helpers/launch-dep.sh
curl -o /Library/Application\ Support/Purple/launch-dep-en.sh https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/Helpers/launch-dep-en.sh
echo Making Cache and Log Directories
mkdir -p /Library/Caches/com.purplecomputing.mdm/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Scripts
mkdir -p /Library/Caches/com.purplecomputing.mdm/Apps
mkdir -p /Library/Logs/com.purplecomputing.mdm/
mkdir -p /tmp/purple-logs/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Logs/
echo Linking Log Folders
ln -s /Library/Logs/com.purplecomputing.mdm/ /tmp/purple-logs/
ln -s /Library/Logs/com.purplecomputing.mdm/ /Library/Caches/com.purplecomputing.mdm/Logs/
touch /var/tmp/depnotify.log
# Give full permissions
chmod -R 777 /Library/Application\ Support/Purple/
chmod -R 777 /Library/Caches/com.purplecomputing.mdm/
chmod -R 777 /Library/Logs/com.purplecomputing.mdm/
chmod 777 /var/tmp/depnotify.log

75
MDM-Script-Pull.md Normal file → Executable file
View File

@@ -2,23 +2,82 @@
```
## PURPLE GITHUB PULL TEMPLATE ##
##-------------------------------##
## SET PERMISSIONS ##
chmod 777 -R /tmp
##-------------------------------##
## SET VARIABLES ##
SCRIPTNAME=[[fix-outlook-spotlight.sh]]
REPO=[[troubleshooting]]
BRANCH=[[main]]
APPNAME='APPNAME'
##-------------------------------##
## PREFLIGHT SCRIPT ##
##-------------------------------##
# CLEAN UP PREVIOUS FILES
rm -rf /Library/Caches/com.purplecomputing.mdm/Scripts/$SCRIPTNAME
rm -rf /Library/Caches/com.purplecomputing.mdm/Scripts/brandDEPinstall.sh
rm -rf /Library/Caches/com.purplecomputing.mdm/Scripts/.appinstallname
# REMOVE APPS AND FILES
killall $APPNAME
rm -rf /Applications/$APPNAME.app
# UPDATE PURPLE HELPERS
curl -o /Library/Caches/com.purplecomputing.mdm/Scripts/purple-helpers.sh https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/Helpers/purple-helpers.sh
chmod +x /Library/Caches/com.purplecomputing.mdm/Scripts/purple-helpers.sh
/Library/Caches/com.purplecomputing.mdm/Scripts/purple-helpers.sh >> /Library/Caches/com.purplecomputing.mdm/Logs/purple-helpers.log
sleep 2s
rm -rf purple-helpers.sh
##-------------------------------##
## DEPNOTIFY WINDOW ##
##-------------------------------##
# SET APP TITLE TO APPNAME
echo $APPNAME >> /Library/Caches/com.purplecomputing.mdm/Apps/.appinstallname
# SET DEP NOTIFY FOR REINSTALL
curl -o /Library/Caches/com.purplecomputing.mdm/Scripts/brandDEPinstall.sh https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/Helpers/brandDEPinstall.sh
chmod +x /Library/Caches/com.purplecomputing.mdm/Scripts/brandDEPinstall.sh
/Library/Caches/com.purplecomputing.mdm/Scripts/brandDEPinstall.sh >> /Library/Caches/com.purplecomputing.mdm/Logs/brandDEPinstall.log
sleep 2s
chmod 777 /var/tmp/depnotify.log
rm -rf /Library/Caches/com.purplecomputing.mdm/Scripts/brandDEPinstall.sh
# START DEPNOTIFY
/Library/Application\ Support/Purple/launch-dep.sh
##-------------------------------##
## START SCRIPT ##
##-------------------------------##
# CLEAN UP PREVIOUS FILE
rm -rf /tmp/$SCRIPTNAME
# DOWNLOAD LATEST FILE
curl -o /tmp/$SCRIPTNAME https://raw.githubusercontent.com/PurpleComputing/$REPO/$BRANCH/$SCRIPTNAME
curl -o /Library/Caches/com.purplecomputing.mdm/Scripts/$SCRIPTNAME https://raw.githubusercontent.com/PurpleComputing/$REPO/$BRANCH/$SCRIPTNAME
# GIVE EXECUTE PERMISSIONS
sudo -u $(stat -f "%Su" /dev/console) /bin/sh <<'END'
chmod +x /tmp/$SCRIPTNAME
chmod +x /Library/Caches/com.purplecomputing.mdm/Scripts/$SCRIPTNAME
# RUN AS CURRENT USER
/tmp/$SCRIPTNAME >> /tmp/$SCRIPTNAME.log
sudo /Library/Caches/com.purplecomputing.mdm/Scripts/$SCRIPTNAME >> /Library/Caches/com.purplecomputing.mdm/Logs/$SCRIPTNAME.log
##-------------------------------##
## DEPNOTIFY CLOSE ##
##-------------------------------##
# CLOSE DEP NOTIFY WINDOW
echo Status: $APPNAME Install Complete >> /var/tmp/depnotify.log
sleep 10s
killall DEPNotify
##-------------------------------##
## POSTFLIGHT SCRIPT ##
##-------------------------------##
rm -rf /Library/Caches/com.purplecomputing.mdm/Scripts/$SCRIPTNAME
rm -rf /Library/Caches/com.purplecomputing.mdm/Apps/.appinstallname
# END SCRIPT WITH SUCCESS
exit 0
```

20
google-chrome.sh Normal file → Executable file
View File

@@ -20,6 +20,7 @@
# - 1.2 Martyn Watts, 24.09.2021 Added Check to see if dockutil is installed to make the script more resilient
# - 1.3 Martyn Watts, 28.09.2021 Added Open Console Parameter to use with TeamViewer
# - 1.4 Martyn Watts, 29.09.2021 Added scriptver variable and corrected log opening
# - 1.5 Michael Tanner, 06.11.2021
#
####################################################################################################
# Script to download and install Google Chrome.
@@ -33,7 +34,12 @@ appName='Google Chrome'
forceQuit='Y'
logfile="/Library/Logs/GoogleChromeInstallScript.log"
deplog="/var/tmp/depnotify.log"
scriptver='1.4'
scriptver='1.5'
#Making Purple Cache directories for in the event that the helper script hasn't been run
mkdir -p /Library/Caches/com.purplecomputing.mdm/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Logs/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Apps/
echo "Script Version: ${scriptver}" >> ${logfile}
echo "Status: Installing ${appName}" >> ${deplog}
@@ -48,16 +54,16 @@ fi
# To get just the latest version number from the version check URL
/bin/echo "`date`: Downloading latest version." >> ${logfile}
/bin/echo "Downloading latest version."
/usr/bin/curl -o "/tmp/${dnldfile}" ${url}
/usr/bin/curl -o "/Library/Caches/com.purplecomputing.mdm/Apps/${dnldfile}" ${url}
/bin/echo "`date`: Expanding package." >> ${logfile}
/bin/echo "Expanding package."
pkgutil --expand "/tmp/${dnldfile}" /tmp/pkg
pkgutil --expand "/Library/Caches/com.purplecomputing.mdm/Apps/${dnldfile}" /Library/Caches/com.purplecomputing.mdm/Apps/pkg
/bin/echo "`date`: Storing latest version data." >> ${logfile}
/bin/echo "Storing latest version data."
latestver=$(cat /tmp/pkg/Distribution | grep 'CFBundleShortVersionString' | cut -f2 -d '"')
latestver=$(cat /Library/Caches/com.purplecomputing.mdm/Apps/pkg/Distribution | grep 'CFBundleShortVersionString' | cut -f2 -d '"')
/bin/echo "`date`: Removing expanded package" >> ${logfile}
/bin/echo "Removing expanded package."
/bin/rm -rf /tmp/pkg
/bin/rm -rf /Library/Caches/com.purplecomputing.mdm/Apps/pkg
# Get the version number of the currently-installed App, if any.
@@ -89,7 +95,7 @@ latestver=$(cat /tmp/pkg/Distribution | grep 'CFBundleShortVersionString' | cut
if [[ "${forceQuit}" = "Y" ]]; then
killall ${appName}
fi
cd /tmp
cd /Library/Caches/com.purplecomputing.mdm/Apps/
/usr/sbin/installer -pkg ${dnldfile} -target /
#double check to see if the new version got updated
@@ -125,6 +131,6 @@ latestver=$(cat /tmp/pkg/Distribution | grep 'CFBundleShortVersionString' | cut
/bin/sleep 5
/bin/echo "`date`: Deleting the downloaded file." >> ${logfile}
/bin/echo "Deleting the downloaded file."
/bin/rm /tmp/${dnldfile}
/bin/rm /Library/Caches/com.purplecomputing.mdm/Apps/${dnldfile}
echo "Command: DeterminateManualStep: 1" >> ${deplog}

21
zerotier.sh Normal file → Executable file
View File

@@ -13,34 +13,41 @@
#
# HISTORY
#
# Version: 1.2
# Version: 1.3
#
# - 1.0 Martyn Watts, 25.06.2021 Initial Script Template Build
# - 1.1 Michael Tanner, 28.09.2021 Implement ZeroTier Install Script
# - 1.2 Martyn Watts, 29.09.2021 Added logging information
# - 1.3 Michael Tanner, 06.11.2021 fixing /tmp folder usage for Monterey
#
#########################################################################
# Script to install ZeroTier and to join the organisations ZT Network.
#
scriptver='1.2'
logfile="/Library/Logs/ZeroTierInstallScript.log"
scriptver='1.3'
logfile="/Library/Logs/com.purplecomputing.mdm/ZeroTierInstallScript.log"
appName="ZeroTier"
deplog="/var/tmp/depnotify.log"
#Making Purple Cache directories for in the event that the helper script hasn't been run
mkdir -p /Library/Caches/com.purplecomputing.mdm/
mkdir -p /Library/Logs/com.purplecomputing.mdm/
mkdir -p /Library/Caches/com.purplecomputing.mdm/Apps/
echo "Status: Installing ${appName} using script version ${scriptver}" >> ${deplog}
echo "Status: Installing ${appName} using script version ${scriptver}" >> ${logfile}
echo "Status: Downloading ZeroTier" >> ${logfile}
echo "Status: Downloading ZeroTier" >> ${deplog}
curl -o /tmp/apps/ZT.pkg https://download.zerotier.com/dist/ZeroTier%20One.pkg
curl -o /Library/Caches/com.purplecomputing.mdm/Apps/ZT.pkg https://download.zerotier.com/dist/ZeroTier%20One.pkg
echo "Status: Running the installer" >> ${logfile}
echo "Status: Running the installer" >> ${deplog}
installer -pkg /tmp/apps/ZT.pkg -target /
installer -pkg /Library/Caches/com.purplecomputing.mdm/Apps/ZT.pkg -target /
echo "Status: Cleaning up after the installer" >> ${logfile}
echo "Status: Cleaning up after the installer" >> ${deplog}
rm -rf /tmp/apps/ZT.pkg
sleep 2s
rm -rf /Library/Caches/com.purplecomputing.mdm/Apps/ZT.pkg
sleep 2
echo "Status: Joining ZeroTier to network ${@}" >> ${logfile}
echo "Status: Joining ZeroTier to network ${@}" >> ${deplog}