-
Notifications
You must be signed in to change notification settings - Fork 0
/
computer-assignment.sh
85 lines (64 loc) · 3.59 KB
/
computer-assignment.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/bin/bash
# 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/
# Set Pashua config location
PashuaConfig=/Library/Caches/com.purplecomputing.mdm/Apps/Pashua.config
# Download Pashua from our repo.
curl -o /Library/Caches/com.purplecomputing.mdm/Apps/Pashua.zip https://raw.githubusercontent.com/PurpleComputing/mdmscripts/main/Helpers/Pashua.zip
# Extract Pashua
cd /Library/Caches/com.purplecomputing.mdm/Apps/
unzip Pashua.zip
# Remove any legacy Pashua.config files
rm -rf /Library/Caches/com.purplecomputing.mdm/Apps/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=`/Library/Caches/com.purplecomputing.mdm/Apps/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 /Library/Caches/com.purplecomputing.mdm/Apps/Pashua.app
rm -rf /Library/Caches/com.purplecomputing.mdm/Apps/Pashua.zip
rm -rf /Library/Caches/com.purplecomputing.mdm/Apps/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