Last active
July 21, 2020 16:38
-
-
Save kdrwygvh/cf510af37e3fe398ce408b63ea053434 to your computer and use it in GitHub Desktop.
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 characters
#!/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