├── .gitattributes
├── DEP-DEPNotify-assignFacstaff
├── JNUC2018 Presentation - Leveraging DEPNotify and Jamf Pro.pdf
├── README.md
├── com.uarts.DEPprovisioning
├── com.uarts.launch.plist
├── dep-postinstall.sh
├── install-CHECKOUT-software
├── install-FACSTAFF-software
├── install-KIOSK-software
├── install-MUSIC-software
├── install-OFFICE-software
└── install-PUBLIC-software
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/DEP-DEPNotify-assignFacstaff:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | #
4 | # Created by John Mahlman, University of the Arts Philadelphia (jmahlman@uarts.edu)
5 | # Name: DEP-DEPNotify-assignFacstaff
6 | #
7 | # Purpose: Will populate the server with appropriate username and rename the machine
8 | # at deployment time. Run AFTER DEPNotify collects information.
9 | #
10 | # Changelog
11 | #
12 | # 8/22/18 - New script to go with single DEPprovisioning instance.
13 | #
14 | #
15 | # Get the JSS URL from the Mac's jamf plist file
16 | if [ -e "/Library/Preferences/com.jamfsoftware.jamf.plist" ]; then
17 | JSSURL=$(defaults read /Library/Preferences/com.jamfsoftware.jamf.plist jss_url)
18 | else
19 | echo "No JSS server set. Exiting..."
20 | exit 1
21 | fi
22 |
23 | # Define API username and password information & JSS Group name from passed parameters
24 | if [ ! -z "$4" ]; then
25 | APIUSER="$4"
26 | else
27 | echo "No value passed to $4 for api username. Exiting..."
28 | exit 1
29 | fi
30 |
31 | if [ ! -z "$5" ]; then
32 | APIPASS="$5"
33 | else
34 | echo "No value passed to $5 for api password. Exiting..."
35 | exit 1
36 | fi
37 |
38 | SERIAL=$(ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformSerialNumber/{print $4}')
39 | MODEL=$(system_profiler SPHardwareDataType | awk '/Model Identifier/ {print $3}')
40 | if echo "$MODEL" | grep -q "MacBookAir"
41 | then
42 | PREFIX="MBA"
43 | elif echo "$MODEL" | grep -q "MacBookPro"
44 | then
45 | PREFIX="MBP"
46 | else
47 | echo "No model identifier found."
48 | PREFIX=""
49 | fi
50 | DNPLIST=/var/tmp/DEPNotify.plist
51 | USERNAME=$(/usr/libexec/plistbuddy $DNPLIST -c "print 'Computer or User Name'" | tr [A-Z] [a-z])
52 | COMPUTERNAME="${USERNAME}-${PREFIX}"
53 | COMPUTERNAME=`echo ${COMPUTERNAME:0:15}`
54 |
55 | # Update User in JSS
56 | cat << EOF > /var/tmp/tempInfo.xml
57 |
58 |
59 | $USERNAME
60 |
61 |
62 | EOF
63 | ## Upload the xml file
64 | /usr/bin/curl -sfku "$APIUSER":"$APIPASS" "$JSSURL"JSSResource/computers/serialnumber/"$SERIAL" -H "Content-type: text/xml" -T /var/tmp/tempInfo.xml -X PUT
65 | rm -Rf /var/tmp/tempInfo.xml
66 |
67 | # rename the computer
68 | /usr/local/jamf/bin/jamf setComputerName -name "${COMPUTERNAME}"
69 |
--------------------------------------------------------------------------------
/JNUC2018 Presentation - Leveraging DEPNotify and Jamf Pro.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jmahlman/DEPNotify-automated/c941ab5e3db9874656da6f056d5c2b50a34acc0c/JNUC2018 Presentation - Leveraging DEPNotify and Jamf Pro.pdf
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # DEPNotify-Automated
2 |
3 | At the moment, the provisioning script is tested and working but is not being used in production yet.
4 | I will be creating actual documentation on how to set this up and what to use once I finish writing everything.
5 |
--------------------------------------------------------------------------------
/com.uarts.DEPprovisioning:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | #
4 | # Created by John Mahlman, University of the Arts Philadelphia (jmahlman@uarts.edu)
5 | # Name: com.uarts.DEPprovisioning
6 | #
7 | # Purpose: Install and run DEPNotify at enrollment time and do some final touches
8 | # for public machines. If the machine is already in the jss it will automatically continue
9 | # and complete setup. If the machine isn't in the jss or it's a FACSATFF or OFFICE machine,
10 | # it will ask the tech to assign it a name and cohort. It also checks for software updates
11 | # and installs them if found.
12 | # This gets put in the composer package along with DEPNotofy, com.uarts.launch.plist,
13 | # and any supporting files. Then add the post install script to the package.
14 | #
15 | #
16 | # Changelog
17 | #
18 | # 10/17/18- Removed some curly braces that I think were causing issues.
19 | # 9/10/18 - Fixed some format issues and an if-statement that was incorrect. Oh, and spell check :P
20 | # 8/24/18 - Removed an entire section of "MainText" because it was redundant.
21 | # 8/23/18 - Moved the caffeinate command because it obviously wasn't running if a machine already existed. Oops.
22 | # 8/22/18 - New script to merge all DEPprovisioning instances
23 | #
24 | # Get the JSS URL from the Mac's jamf plist file, we'll use this to check if the machine is already in the jss
25 | if [ -e "/Library/Preferences/com.jamfsoftware.jamf.plist" ]; then
26 | JSSURL=$(defaults read /Library/Preferences/com.jamfsoftware.jamf.plist jss_url)
27 | else
28 | echo "No JSS server set. Exiting..."
29 | exit 1
30 | fi
31 | # I don't like hardcoding passwords but since we're putting this locally on the machine...
32 | APIUSER="USERNAME"
33 | APIPASS="PASSWORD"
34 |
35 | JAMFBIN=/usr/local/bin/jamf
36 | OSVERSION=$(sw_vers -productVersion)
37 | serial=$(ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformSerialNumber/{print $4}')
38 | # get all EAs of this machine from the JSS and break down the ones we need (If they're in the JSS)
39 | eaxml=$(curl "$JSSURL"JSSResource/computers/serialnumber/"$serial"/subset/extension_attributes -u "$APIUSER":"$APIPASS" -H "Accept: text/xml")
40 | jssMacName=$(echo "$eaxml" | xpath '//extension_attribute[name="New Computer Name"' | awk -F'|' '{print $2}')
41 | jssCohort=$(echo "$eaxml" | xpath '//extension_attribute[name="New Cohort"' | awk -F'|' '{print $2}')
42 | # Get the logged in user
43 | CURRENTUSER=$(/usr/bin/python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "\n");')
44 | # Setup Done File
45 | setupDone="/var/db/receipts/com.uarts.provisioning.done.bom"
46 | # DEPNotify Log file
47 | DNLOG=/var/tmp/depnotify.log
48 |
49 | # If the receipt is found, DEP already ran so let's remove this script and
50 | # the launch Daemon. This helps if someone re-enrolls a machine for some reason.
51 | if [ -f "${setupDone}" ]; then
52 | # Remove the Launch Daemon
53 | /bin/rm -Rf /Library/LaunchDaemons/com.uarts.launch.plist
54 | # Remove this script
55 | /bin/rm -- "$0"
56 | exit 0
57 | fi
58 |
59 | # This is where we wait until a user is completely logged in
60 | if pgrep -x "Finder" \
61 | && pgrep -x "Dock" \
62 | && [ "$CURRENTUSER" != "_mbsetupuser" ] \
63 | && [ ! -f "${setupDone}" ]; then
64 |
65 | # Let's caffinate the mac because this can take long
66 | /usr/bin/caffeinate -d -i -m -u -s &
67 | caffeinatepid=$!
68 |
69 | # Kill any installer process running
70 | killall Installer
71 | # Wait a few seconds
72 | sleep 5
73 |
74 | # If the computer is NOT in the jss or if it's an OFFICE or FACSTAFF machine
75 | # we want to get user input because most likely this is being reprovisioned.
76 |
77 | if [[ "$jssMacName" == "" ]] || [[ "$jssCohort" == "" ]] || [[ "$jssCohort" == "OFFICE" ]] || [[ "$jssCohort" == "FACSTAFF" ]]; then
78 | # Configure DEPNotify registration window
79 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify PathToPlistFile /var/tmp/
80 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify RegisterMainTitle "Setup..."
81 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify RegisterButtonLabel Setup
82 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify UITextFieldUpperPlaceholder "T1337-M01 or uname"
83 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify UITextFieldUpperLabel "Computer or User Name"
84 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify UITextFieldLowerPlaceholder "UA42DSK1337"
85 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify UITextFieldLowerLabel "Asset Tag"
86 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify UIPopUpMenuUpper -array 'Public' 'Facstaff' 'Kiosk' 'Music' 'Office' 'Checkout'
87 | sudo -u "$CURRENTUSER" defaults write menu.nomad.DEPNotify UIPopUpMenuUpperLabel "Cohort"
88 |
89 | # Configure DEPNotify starting window
90 | echo "Command: MainTitle: New Mac Setup" >> $DNLOG
91 | echo "Command: Image: /var/tmp/uarts-logo.png" >> $DNLOG
92 | echo "Command: WindowStyle: NotMovable" >> $DNLOG
93 | echo "Command: DeterminateManual: 5" >> $DNLOG
94 |
95 | # Open DepNotify fullscreen
96 | sudo -u "$CURRENTUSER" /var/tmp/DEPNotify.app/Contents/MacOS/DEPNotify -fullScreen &
97 | echo "Command: MainText: Make sure this Mac is plugged into a wired network connection before beginning. \n \n \
98 | If this is a FACSTAFF machine, enter the username in the \"Computer or User Name\" field." >> $DNLOG
99 |
100 | # get user input...
101 | echo "Command: ContinueButtonRegister: Begin" >> $DNLOG
102 | echo "Status: Please click the button below..." >> $DNLOG
103 | DNPLIST=/var/tmp/DEPNotify.plist
104 | # hold here until the user enters something
105 | while : ; do
106 | [[ -f $DNPLIST ]] && break
107 | sleep 1
108 | done
109 |
110 | # Let's read the user data into some variables...
111 | computerUserName=$(/usr/libexec/plistbuddy $DNPLIST -c "print 'Computer or User Name'" | tr [a-z] [A-Z])
112 | cohort=$(/usr/libexec/plistbuddy $DNPLIST -c "print 'Cohort'" | tr [a-z] [A-Z])
113 | ASSETTAG=$(/usr/libexec/plistbuddy $DNPLIST -c "print 'Asset Tag'" | tr [a-z] [A-Z])
114 | # Let's set the asset tag in the JSS
115 | cat << EOF > /var/tmp/assetTag.xml
116 |
117 |
118 | $ASSETTAG
119 |
120 |
121 | EOF
122 | # Upload the asset tag xml file
123 | /usr/bin/curl -sfku "$APIUSER":"$APIPASS" "$JSSURL"JSSResource/computers/serialnumber/"$serial" -H "Content-type: text/xml" -T /var/tmp/assetTag.xml -X PUT
124 |
125 | else
126 | # This is if the machine is already found on the server
127 | # Set variables for Computer Name and Role to those from the receipts
128 | computerUserName=$jssMacName
129 | cohort=$jssCohort
130 |
131 | # Launch DEPNotify
132 | echo "Command: Image: /var/tmp/uarts-logo.png" >> $DNLOG
133 | echo "Command: MainTitle: Setting things up..." >> $DNLOG
134 | echo "Command: WindowStyle: NotMovable" >> $DNLOG
135 | echo "Command: DeterminateManual: 4" >> $DNLOG
136 | sudo -u "$CURRENTUSER" /var/tmp/DEPNotify.app/Contents/MacOS/DEPNotify -fullScreen &
137 | echo "Status: Please wait..." >> $DNLOG
138 | fi # End of "is this a known or unknown machine" section..this is the merge
139 |
140 | # Carry on with the setup...
141 | # This is where we do everything else...
142 |
143 | # Since we have a different naming convention for FACSTAFF machines and we need to set the "User" info in the jss
144 | # we're going to break down the naming of the system by cohort here.
145 | echo "Command: DeterminateManualStep:" >> $DNLOG
146 | if [[ "$cohort" == "FACSTAFF" ]]; then
147 | echo "Status: Assigning and renaming device..." >> $DNLOG
148 | $JAMFBIN policy -event enroll-assignFacstaff # This runs the script 'DEP-DEPNotify-assignFacstaff.sh'
149 | userName=$(/usr/libexec/plistbuddy $DNPLIST -c "print 'Computer or User Name'" | tr [A-Z] [a-z])
150 | echo "Status: Creating local user account with password as username..." >> $DNLOG
151 | $JAMFBIN createAccount -username $userName -realname $userName -password $userName -admin
152 | else
153 | echo "Status: Setting computer name..." >> $DNLOG
154 | $JAMFBIN setComputerName -name "$computerUserName"
155 | fi
156 |
157 | # The firstRun scripts policies are were we set our receipts on the machines, no need to do them in this script.
158 | echo "Command: MainTitle: $computerUserName" >> $DNLOG
159 | echo "Status: Running FirstRun scripts and installing packages..." >> $DNLOG
160 | echo "Command: DeterminateManualStep:" >> $DNLOG
161 | echo "Command: MainText: This Mac is installing all necessary software and running some installation scripts. \
162 | Please do not interrupt this process. This may take a few hours to complete; the machine restart \
163 | automatically when it's finished. \n \n Cohort: $cohort \n \n macOS Version: $OSVERSION" >> $DNLOG
164 |
165 | if [[ "$cohort" == "CHECKOUT" ]] || [[ "$cohort" == "OFFICE" ]] || [[ "$cohort" == "FACSTAFF" ]] \
166 | || [[ "$cohort" == "MUSIC" ]] || [[ "$cohort" == "KIOSK" ]]; then
167 | $JAMFBIN policy -event install-"$cohort"-software
168 | $JAMFBIN policy -event enroll-firstRun"$cohort"-scripts
169 | else
170 | $JAMFBIN policy -event install-PUBLIC-software
171 | $JAMFBIN policy -event enroll-firstRunPUBLIC-scripts
172 | fi
173 |
174 | echo "Command: DeterminateManualStep:" >> $DNLOG
175 | echo "Status: Updating Inventory..." >> $DNLOG
176 | $JAMFBIN recon
177 |
178 | # Run Software updates, Make sure you have the SUS set to an internal one in your first run. You can also hardcode it here.
179 | echo "Command: DeterminateManualStep:" >> $DNLOG
180 | echo "Status: Checking for and installing any OS updates..." >> $DNLOG
181 | /usr/sbin/softwareupdate -ia
182 |
183 | echo "Command: DeterminateManualStep:" >> $DNLOG
184 | echo "Status: Cleaning up files and restarting system..." >> $DNLOG
185 | kill $caffeinatepid
186 | echo "Command: RestartNow:" >> $DNLOG
187 |
188 | # Remove DEPNotify and the logs
189 | /bin/rm -Rf /var/tmp/DEPNotify.app
190 | /bin/rm -Rf /var/tmp/uarts-logo.png
191 | /bin/rm -Rf $DNLOG
192 | /bin/rm -Rf $DNPLIST
193 |
194 | # Wait a few seconds
195 | sleep 5
196 | # Remove the autologin user password file so it doesn't login again
197 | /bin/rm -Rf /etc/kcpassword
198 | # Create a bom file that allow this script to stop launching DEPNotify after done
199 | /usr/bin/touch /var/db/receipts/com.uarts.provisioning.done.bom
200 | # Remove the Launch Daemon
201 | /bin/rm -Rf /Library/LaunchDaemons/com.uarts.launch.plist
202 | # Remove this script
203 | /bin/rm -- "$0"
204 |
205 | fi
206 | exit 0
207 |
--------------------------------------------------------------------------------
/com.uarts.launch.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | GroupName
6 | wheel
7 | InitGroups
8 |
9 | Label
10 | com.uarts.launch
11 | Program
12 | /var/tmp/com.uarts.DEPprovisioning
13 | RunAtLoad
14 |
15 | StartInterval
16 | 10
17 | UserName
18 | root
19 | StandardErrorPath
20 | /var/tmp/depnotify.launch.err
21 | StandardOutPath
22 | /var/tmp/depnotify.launch.out
23 |
24 |
25 |
--------------------------------------------------------------------------------
/dep-postinstall.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | ## postinstall
3 |
4 | echo "disable auto updates ASAP" >> /var/log/jamf.log
5 | # Disable Software Updates during imaging
6 | /usr/sbin/softwareupdate --schedule off
7 |
8 | echo "set power management" >> /var/log/jamf.log
9 | #set power management settings
10 | pmset -c displaysleep 60 disksleep 0 sleep 0 womp 0 ring 0 autorestart 0 halfdim 1 sms 1
11 | pmset -b displaysleep 5 disksleep 1 sleep 10 womp 0 ring 0 autorestart 0 halfdim 1 sms 1
12 |
13 | ## Make the main script executable
14 | echo "setting main script permissions" >> /var/log/jamf.log
15 | chmod a+x /var/tmp/com.uarts.DEPprovisioning
16 |
17 | ## Set permissions and ownership for launch daemon
18 | echo "set LaunchDaemon permissions" >> /var/log/jamf.log
19 | chmod 644 /Library/LaunchDaemons/com.uarts.launch.plist
20 | chown root:wheel /Library/LaunchDaemons/com.uarts.launch.plist
21 |
22 | ## Load launch daemon into the Launchd system
23 | echo "load LaunchDaemon" >> /var/log/jamf.log
24 | launchctl load /Library/LaunchDaemons/com.uarts.launch.plist
25 |
26 | # We have to wait for the login window to show because the machine will reboot...
27 | # so let's start this after the setup assistant is done.
28 | CURRENTUSER=$(/usr/bin/python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "\n");')
29 | while [[ "$CURRENTUSER" == "_mbsetupuser" ]]; do
30 | sleep 5
31 | CURRENTUSER=$(/usr/bin/python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "\n");')
32 | done
33 |
34 | echo "add auto-login user" >> /var/log/jamf.log
35 | /usr/local/jamf/bin/jamf policy -event dep-autologin
36 |
37 | echo "Rebooting!" >> /var/log/jamf.log
38 | /sbin/shutdown -r +1 &
39 |
40 | # Wait a few seconds
41 | sleep 5
42 |
43 | exit 0 ## Success
44 | exit 1 ## Failure
45 |
--------------------------------------------------------------------------------
/install-CHECKOUT-software:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # script to install CHECKOUT software with an array. Taken from jamf professional services script
4 | # which can be found here: https://github.com/jamfprofessionalservices/DEP-Notify/blob/master/depNotify.sh
5 |
6 | JAMFBIN=/usr/local/bin/jamf
7 | DNLOG=/var/tmp/depnotify.log
8 |
9 | # The policy array must be formatted "Progress Bar text,customTrigger". These will be
10 | # run in order as they appear below.
11 | POLICY_ARRAY=(
12 | "Installing KeyClient,install-keyclient-mobile"
13 | "Installing Microsoft Office 2016,install-office2016"
14 | "Setting Office 2016 Prefs,install-office2016-prefs"
15 | "Installing Pharos,install-pharos"
16 | "Installing Symantec,install-SEP-academic"
17 | "Installing Xerox Drivers,install-xerox-drivers"
18 | "Installing iWork,install-iwork"
19 | "Installing Chrome,install-chrome"
20 | "Installing Adobe Acrobat,install-acrobat"
21 | "Installing Flash,install-flash"
22 | "Installing PUBLIC Utilities,install-public-utils"
23 | "Installing Pulse Secure VPN,install-pulse"
24 | "Installing Microsoft Remote Desktop,install-microsoft-rd"
25 | )
26 |
27 | # Loop to run policies
28 | for POLICY in "${POLICY_ARRAY[@]}"; do
29 | echo "Status: $(echo "$POLICY" | cut -d ',' -f1)" >> "$DNLOG"
30 | "$JAMFBIN" policy -event "$(echo "$POLICY" | cut -d ',' -f2)"
31 | done
32 |
33 | # don't update inventory, the provisioning script will do that for you!
34 |
--------------------------------------------------------------------------------
/install-FACSTAFF-software:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # script to install FACSTAFF software with an array. Taken from jamf professional services script
4 | # which can be found here: https://github.com/jamfprofessionalservices/DEP-Notify/blob/master/depNotify.sh
5 |
6 | JAMFBIN=/usr/local/bin/jamf
7 | DNLOG=/var/tmp/depnotify.log
8 |
9 | # The policy array must be formatted "Progress Bar text,customTrigger". These will be
10 | # run in order as they appear below.
11 | POLICY_ARRAY=(
12 | "Installing KeyClient,install-keyclient-mobile"
13 | "Installing Microsoft Office 2016,install-office2016"
14 | "Setting Office 2016 Prefs,install-office2016-prefs"
15 | "Installing Pharos,install-pharos"
16 | "Installing Symantec,install-SEP-facstaff"
17 | "Installing Xerox Drivers,install-xerox-drivers"
18 | "Installing Chrome,install-chrome"
19 | "Installing Adobe Acrobat,install-acrobat"
20 | "Installing Flash,install-flash"
21 | "Installing Pulse Secure VPN,install-pulse"
22 | "Installing Microsoft Remote Desktop,install-microsoft-rd"
23 | )
24 |
25 | # Loop to run policies
26 | for POLICY in "${POLICY_ARRAY[@]}"; do
27 | echo "Status: $(echo "$POLICY" | cut -d ',' -f1)" >> "$DNLOG"
28 | "$JAMFBIN" policy -event "$(echo "$POLICY" | cut -d ',' -f2)"
29 | done
30 |
31 | # don't update inventory, the provisioning script will do that for you!
32 |
--------------------------------------------------------------------------------
/install-KIOSK-software:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # script to install KIOSK software with an array. Taken from jamf professional services script
4 | # which can be found here: https://github.com/jamfprofessionalservices/DEP-Notify/blob/master/depNotify.sh
5 |
6 | JAMFBIN=/usr/local/bin/jamf
7 | DNLOG=/var/tmp/depnotify.log
8 |
9 | # The policy array must be formatted "Progress Bar text,customTrigger". These will be
10 | # run in order as they appear below.
11 | POLICY_ARRAY=(
12 | "Installing KeyClient,install-keyclient-mobile"
13 | "Installing Pharos,install-pharos"
14 | "Installing Symantec,install-SEP-facstaff"
15 | "Installing Xerox Drivers,install-xerox-drivers"
16 | "Installing Chrome,install-chrome"
17 | "Installing Adobe Acrobat,install-acrobat"
18 | "Installing Flash,install-flash"
19 | "Installing OIV,install-oiv"
20 | )
21 |
22 | # Loop to run policies
23 | for POLICY in "${POLICY_ARRAY[@]}"; do
24 | echo "Status: $(echo "$POLICY" | cut -d ',' -f1)" >> "$DNLOG"
25 | "$JAMFBIN" policy -event "$(echo "$POLICY" | cut -d ',' -f2)"
26 | done
27 |
28 | # don't update inventory, the provisioning script will do that for you!
29 |
--------------------------------------------------------------------------------
/install-MUSIC-software:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # script to install MUSIC software with an array. Taken from jamf professional services script
4 | # which can be found here: https://github.com/jamfprofessionalservices/DEP-Notify/blob/master/depNotify.sh
5 |
6 | JAMFBIN=/usr/local/bin/jamf
7 | DNLOG=/var/tmp/depnotify.log
8 |
9 | # The policy array must be formatted "Progress Bar text,customTrigger". These will be
10 | # run in order as they appear below.
11 | POLICY_ARRAY=(
12 | "Installing KeyClient,install-keyclient-desktop"
13 | "Installing Pharos,install-pharos"
14 | "Installing Symantec,install-SEP-academic"
15 | "Installing Xerox Drivers,install-xerox-drivers"
16 | "Installing GarageBand,install-garageband"
17 | "Installing iMovie,install-imovie"
18 | "Installing Final Cut Pro X,install-finalcutapps"
19 | "Installing VLC,install-vlc"
20 | "Installing Chrome,install-chrome"
21 | "Installing Flash,install-flash"
22 | "Installing Max,install-max"
23 | "Installing PUBLIC Utilities,install-public-utils"
24 | "Binding to Active Directory,install-bind-to-ad"
25 | )
26 |
27 | # Loop to run policies
28 | for POLICY in "${POLICY_ARRAY[@]}"; do
29 | echo "Status: $(echo "$POLICY" | cut -d ',' -f1)" >> "$DNLOG"
30 | "$JAMFBIN" policy -event "$(echo "$POLICY" | cut -d ',' -f2)"
31 | done
32 |
33 | # don't update inventory, the provisioning script will do that for you!
34 |
--------------------------------------------------------------------------------
/install-OFFICE-software:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # script to install OFFICE software with an array. Taken from jamf professional services script
4 | # which can be found here: https://github.com/jamfprofessionalservices/DEP-Notify/blob/master/depNotify.sh
5 |
6 | JAMFBIN=/usr/local/bin/jamf
7 | DNLOG=/var/tmp/depnotify.log
8 |
9 | # The policy array must be formatted "Progress Bar text,customTrigger". These will be
10 | # run in order as they appear below.
11 | POLICY_ARRAY=(
12 | "Installing KeyClient,install-keyclient-desktop"
13 | "Installing Microsoft Office 2016,install-office2016"
14 | "Setting Office 2016 Prefs,install-office2016-prefs"
15 | "Installing Pharos,install-pharos"
16 | "Installing Symantec,install-SEP-office"
17 | "Installing Xerox Drivers,install-xerox-drivers"
18 | "Installing iWork,install-iwork"
19 | "Installing Chrome,install-chrome"
20 | "Installing OIV,install-oiv"
21 | "Installing Adobe Acrobat,install-acrobat"
22 | "Installing Flash,install-flash"
23 | "Installing Fetch,install-fetch"
24 | "Installing Firefox ESR,install-firefox-esr"
25 | "Installing OFFICE Utilities,install-office-utils"
26 | )
27 |
28 | # Loop to run policies
29 | for POLICY in "${POLICY_ARRAY[@]}"; do
30 | echo "Status: $(echo "$POLICY" | cut -d ',' -f1)" >> "$DNLOG"
31 | "$JAMFBIN" policy -event "$(echo "$POLICY" | cut -d ',' -f2)"
32 | done
33 |
34 | # don't update inventory, the provisioning script will do that for you!
35 |
--------------------------------------------------------------------------------
/install-PUBLIC-software:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | #
3 | # script to install PUBLIC software with an array. Taken from jamf professional services script
4 | # which can be found here: https://github.com/jamfprofessionalservices/DEP-Notify/blob/master/depNotify.sh
5 |
6 | JAMFBIN=/usr/local/bin/jamf
7 | DNLOG=/var/tmp/depnotify.log
8 |
9 | # The policy array must be formatted "Progress Bar text,customTrigger". These will be
10 | # run in order as they appear below.
11 | POLICY_ARRAY=(
12 | "Installing KeyClient,install-keyclient-desktop"
13 | "Installing Microsoft Office 2016,install-office2016"
14 | "Setting Office 2016 Prefs,install-office2016-prefs"
15 | "Installing Pharos,install-pharos"
16 | "Installing Symantec,install-SEP-academic"
17 | "Installing Xerox Drivers,install-xerox-drivers"
18 | "Installing iWork,install-iwork"
19 | "Installing GarageBand,install-garageband"
20 | "Installing iMovie,install-imovie"
21 | "Installing Final Cut Pro X,install-finalcutapps"
22 | "Installing Corel Painter 2017,install-corel2017"
23 | "Installing VLC,install-vlc"
24 | "Installing Maya,install-maya2018"
25 | "Installing Mudbox,install-mudbox2018"
26 | "Installing Chrome,install-chrome"
27 | "Installing Rhino,install-rhino"
28 | "Installing OIV,install-oiv"
29 | "Installing Adobe CC,install-adobeCC-2018"
30 | "Installing Adobe Acrobat,install-acrobat"
31 | "Installing Flash,install-flash"
32 | "Installing Fetch,install-fetch"
33 | "Installing BBEdit,install-bbedit"
34 | "Installing Max,install-max"
35 | "Installing Poser,install-poser"
36 | "Installing PUBLIC Utilities,install-public-utils"
37 | "Binding to Active Directory,install-bind-to-ad"
38 | )
39 |
40 | # Loop to run policies
41 | for POLICY in "${POLICY_ARRAY[@]}"; do
42 | echo "Status: $(echo "$POLICY" | cut -d ',' -f1)" >> "$DNLOG"
43 | "$JAMFBIN" policy -event "$(echo "$POLICY" | cut -d ',' -f2)"
44 | done
45 |
46 | # don't update inventory, the provisioning script will do that for you!
47 |
--------------------------------------------------------------------------------