diff --git a/Helpers/Pashua.zip b/Helpers/Pashua.zip new file mode 100644 index 0000000..a30e35a Binary files /dev/null and b/Helpers/Pashua.zip differ diff --git a/README.md b/README.md index d2fcc39..41143af 100644 --- a/README.md +++ b/README.md @@ -357,3 +357,15 @@ This script is designed to silently install/update balenaEtcher to an MDM enroll ``` sudo curl -o /tmp/balenaEtcher.sh https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/balenaEtcher.sh && sudo chmod +x /tmp/balenaEtcher.sh && sudo /tmp/balenaEtcher.sh [options] ``` + +## computer-assignment.sh + +### Assign User to Computer in JAMF + +This script is designed to prompt the user for information to assist in the assignment process to an MDM enrolled Mac. + +#### Command to execute + +``` +sudo curl -o /tmp/computer-assignment.sh https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/computer-assignment.sh && sudo chmod +x /tmp/computer-assignment.sh && sudo /tmp/computer-assignment.sh [options] +``` diff --git a/computer-assignment.sh b/computer-assignment.sh new file mode 100644 index 0000000..5b11eb4 --- /dev/null +++ b/computer-assignment.sh @@ -0,0 +1,80 @@ +#!/bin/bash + +# Set Pashua config location +PashuaConfig=/tmp/Pashua.config + +# Download Pashua from our repo. +curl -o /tmp/Pashua.zip https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/Helpers/Pashua.zip + +# Extract Pashua +cd /tmp +unzip Pashua.zip + +# Remove any legacy Pashua.config files +rm -rf /tmp/Pashua.config + +# Create Pashua config file +echo "*.title=Gathering User Info" >> $PashuaConfig +echo "*.autoclosetime = 1800" >> $PashuaConfig +echo "*.floating = 1" >> $PashuaConfig +echo "fullname.type = textfield" >> $PashuaConfig +echo "fullname.label = Enter your full name" >> $PashuaConfig +echo "fullname.default = Firstname Lastname" >> $PashuaConfig +echo "fullname.width = 340" >> $PashuaConfig +echo "email.type = textfield" >> $PashuaConfig +echo "email.label = Enter your email address" >> $PashuaConfig +echo "email.default = name@domain.com" >> $PashuaConfig +echo "email.width = 340" >> $PashuaConfig + +# Launch Pashua to gather the info + +result=`/tmp/Pashua.app/Contents/MacOS/Pashua $PashuaConfig | sed 's/ /;;;/g'` + +# Parse result +for line in $result +do + key=`echo $line | sed 's/^\([^=]*\)=.*$/\1/'` + value=`echo $line | sed 's/^[^=]*=\(.*\)$/\1/' | sed 's/;;;/ /g'` + varname=$key + varvalue="$value" + eval $varname='$varvalue' +done + +jamf recon -endUsername "${email}" -realname "${fullname}" -email "${email}" + +# Cleanup tmp files + +rm -rf /tmp/Pashua.app +rm -rf /tmp/Pashua.zip +rm -rf /tmp/Pashua.config +rm -rf $0 + +# Other options include +# -assetTag The Asset Tag of the computer +# -position The Position (Job Title) of the primary user +# -building The text representation of a Building in the JSS +# -department The text representation of a Department in the JSS +# -phone The Phone number of the primary user +# -room The Room that the computer is in + + + + +# # OLD METHOD BELOW THIS LINE # # + +# Open a dialog window asking for the email address of the user and assign to the UserID variable +# UserID=$(osascript -e 'display dialog "Please enter the email address for the person who will be using this computer" with title "Computer Assignment Question 1 of 2" default answer "@berkshireifa.com" buttons {"Next"} default button 1' | cut -f3 -d":") + +# Open a dialog window asking for the Full Name of the user and assign to the realName variable +# realName=$(osascript -e 'display dialog "Please enter the full name for the person who will be using this computer" with title "Computer Assignment Question 2 of 2" default answer "Firstname Lastname" buttons {"Next"} default button 1' | cut -f3 -d":") + +# Use jamf recon to set the UserID variable to the endUsername [Assigned User] parameter, also send the Full Name and Email Address +# jamf recon -endUsername "${UserID}" -realname "${realName}" -email "${UserID}" + +# Other options include +# -assetTag The Asset Tag of the computer +# -position The Position (Job Title) of the primary user +# -building The text representation of a Building in the JSS +# -department The text representation of a Department in the JSS +# -phone The Phone number of the primary user +# -room The Room that the computer is in \ No newline at end of file