Skip to content

Instantly share code, notes, and snippets.

@kdrwygvh
Last active July 21, 2020 16:38
Show Gist options
  • Save kdrwygvh/cf510af37e3fe398ce408b63ea053434 to your computer and use it in GitHub Desktop.
Save kdrwygvh/cf510af37e3fe398ce408b63ea053434 to your computer and use it in GitHub Desktop.
#!/usr/bin/env zsh
### Collecting current user attributes ###
currentUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{print $3}')
currentUserUID=$(/usr/bin/id -u "$currentUser")
currentUserHomeDirectoryPath="$(dscl . -read /Users/$currentUser NFSHomeDirectory | awk -F ': ' '{print $2}')"
##########################################################################################
##Box Edit PostInstall
sudo -u "$currentUser" mkdir -p "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/"
sudo -u "$currentUser" touch "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
sudo -u "$currentUser" echo "$(date) - Running Box Edit Trust postinstall" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
sudo -u "$currentUser" echo "$(date) - Installation path" "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
sudo -u "$currentUser" echo "$(date) - User ${USER}" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
sudo -u "$currentUser" defaults delete com.Box.Box-Edit UpgradeDisabled
#Generating installationID
sudo -u "$currentUser" defaults read M683GB7CPW.com.box.tools installationID
#If the command resturns with an error, it means there's no key set
if [[ $? != 0 ]]; then
installID=$(uuidgen)
sudo -u "$currentUser" echo "$(date) - Setting installationID: $installID" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
sudo -u "$currentUser" defaults write M683GB7CPW.com.box.tools installationID $installID
fi
sudo -u "$currentUser" defaults write M683GB7CPW.com.box.tools installationType Pkg
#Generating rolloutID
rolloutID=$(jot -n -r 1 1 100)
sudo -u "$currentUser" echo "$(date) - Setting rolloutID: $rolloutID" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
sudo -u "$currentUser" defaults write com.Box.Box-Edit RolloutID $rolloutID
sudo -u "$currentUser" echo "$(date) - Launching Box Edit.app" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
sudo -u "$currentUser" /usr/bin/open -g "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/Box Edit.app"
sudo -u "$currentUser" echo "$(date) - Attempting to disable/re-enable Box Edit Finder extension" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
#Disabling finder extension
sudo -u "$currentUser" pluginkit -e ignore -i com.Box.Box-Edit.BoxEditFinderExtension
#Killing finder extension in case it's still running
sudo -u "$currentUser" killall -9 BoxEditFinderExtension
#Renabling finder extension
for attempt in {1..5}
do
sudo -u "$currentUser" echo "$(date) - Attempting to enable Box Edit Finder extension, attempt number $attempt" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
sudo -u "$currentUser" pluginkit -e use -i com.Box.Box-Edit.BoxEditFinderExtension
#Checking if the finder extension started
ps aux -c | grep BoxEditFinderExtension
if [[ $? == 0 ]]; then
sudo -u "$currentUser" echo "$(date) - BoxEditFinderExtension has been successfully enabled" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
break
fi
#Wait a second for next try
sleep 1
done
ps aux -c | grep BoxEditFinderExtension
if [[ $? != 0 ]]; then
sudo -u "$currentUser" echo "$(date) - BoxEditFinderExtension failed to be enabled" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
fi
ps aux -c | grep "Box Edit"
if [[ $? != 0 ]]; then
sudo -u "$currentUser" echo "$(date) - Box Edit failed to be launched" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxEditPostinstall.log"
exit 1
fi
## Box Local Com Server Postinstall
sudo -u "$currentUser" mkdir -p "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/"
sudo -u "$currentUser" touch "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxLocalComServerPostinstall.log"
sudo -u "$currentUser" echo "$(date) - Running Box Local Com Server postinstall" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxLocalComServerPostinstall.log"
sudo -u "$currentUser" echo "$(date) - Installation path" "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxLocalComServerPostinstall.log"
sudo -u "$currentUser" echo "$(date) - User ${USER}" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxLocalComServerPostinstall.log"
sudo -u "$currentUser" echo "$(date) - Launching Box Local Com Server.app" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxLocalComServerPostinstall.log"
sudo -u "$currentUser" /usr/bin/open -g "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/Box Local Com Server.app"
sleep 2
ps aux -c | grep "Box Edit"
if [[ $? != 0 ]]; then
sudo -u "$currentUser" echo "$(date) - Box Local Com Server failed to be launched" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxLocalComServerPostinstall.log"
exit 1
fi
## Box Tools Custom App Postinstall
sudo -u "$currentUser" mkdir -p "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/"
sudo -u "$currentUser" touch "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxToolsCustomAppsPostinstall.log"
sudo -u "$currentUser" echo "$(date) - Running Box Tools Custom Apps postinstall" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxToolsCustomAppsPostinstall.log"
sudo -u "$currentUser" echo "$(date) - Installation path" "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxToolsCustomAppsPostinstall.log"
sudo -u "$currentUser" echo "$(date) - User ${USER}" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxToolsCustomAppsPostinstall.log"
customAppsPlistPath="$currentUserHomeDirectoryPath/Library/Containers/com.Box.BoxToolsCustomApps.CustomAppsExtension/Data/Library/Preferences/com.Box.BoxToolsCustomApps.CustomAppsExtension.plist"
sudo -u "$currentUser" echo "customAppsPlistPath - ${customAppsPlistPath}" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxToolsCustomAppsPostinstall.log"
comServerDomains=$(sudo -u "$currentUser" defaults read "com.box.Box-Local-Com-Server" "Domains")
if [[ $? == 0 ]]; then
sudo -u "$currentUser" defaults read ${customAppsPlistPath} "Domains"
if [[ $? != 0 ]]; then
echo "copy whitelisted domains"
domains=$(sudo -u "$currentUser" defaults read "com.box.Box-Local-Com-Server" "Domains" | sed 's/(//g;s/)//g' | sed '/^$/d;s/,//g;s/"//g')
for domain in ${domains}; do
sudo -u "$currentUser" defaults write ${customAppsPlistPath} "Domains" -array-add ${domain}
done
fi
sudo -u "$currentUser" echo "$(date) - Launching Box Tools Custom Apps.app" >> "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/PKG Installer log/boxToolsCustomAppsPostinstall.log"
sudo -u "$currentUser" /usr/bin/open -g "$currentUserHomeDirectoryPath/Library/Application Support/Box/Box Edit/Box Tools Custom Apps.app"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment