Hey All,
We just had a successful roll out of a one-to-one with MacBook Airs and I wanted to share some of what really worked for us.
We started with imaging, which we use DEPNotify to prompt to name the computer and then run the installs for base software. (We asked Apple to setup our order but they had so many issues and delays that we canceled their setup and ended up setting up close to 2000 on our own using labs and our office, along with 100 Belkin ethernet adapters, and we ended up being able to image from 200-300 a day ).
Our base system has Chrome, Firefox, Cisco Umbrella, Zoom, Adobe Creative Cloud (just the desktop app) and Microsoft Office Pro installer. I also install DockUtil and Desktopr to set each desktop and dock as they logged in. The last prep work I did was create a ton of TCC profiles to allow my various scripts and applescripts to work:
We then had handouts where we kept all the machines on wired connections for the first login (still binding, dont ask) and left the Apple ID, Touch ID and Cloud Documents features turned on in the prestage with managed apple ids so we can use Apple Classroom with the teachers able to work with the students machines who are in their classrooms.
Once students log in my script would open safari to our classlink login page, tell the keyboard to type the name of the logged in user, then open Safari's extension tab so students can check the checkbox next to the classlink extension, then it would open word that would be prefilled with the students email address (which is based on their login username just with our domain after it) then it would open zoom (and this one I left to the students to fully enter their own full email because they should at lest do it once right?) and then it opened the creative cloud desktop app and would type their username then the @ sign then our domain, then would hit enter, then tab through all the settings until it got to Company or School account, then hit enter again, and would wait there until the student typed their password in.
So essentially this just filled in usernames and email addresses for the students the first time they logged in.
Attached are the scripts I used. Hoping maybe this could help someone else:
OpenSafari to Classlink and then openExtension
#!/bin/bash
currentUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{print $3}')
dockStatus=$(pgrep -x Dock)
echo "Waiting for Desktop..."
while [[ "$dockStatus" == "" ]]
do
echo "Desktop is not loaded. Waiting."
sleep 5
dockStatus=$(pgrep -x Dock)
done
sleep 5
echo "$currentUser has successfully logged on! The Dock appaears to be loaded with PID $dockStatus."
sleep 5
sudo -u $currentUser open http://yourlinkhere.com
sudo -u $currentUser osascript <<EOF
tell application "Safari"
activate
delay 3
tell application "System Events"
keystroke "$currentUser"
end tell
end tell
tell application "Safari" to activate
delay 4
tell application "System Events" to tell process "Safari"
keystroke "," using command down
tell window 1
click button "Extensions" of toolbar 1
activate "Extensions"
keystroke return
end tell
end tell
EOF
Open Word and Preset their Login
(Total shoutout to @pbowden for the help with this bit of scripting!)
#!/bin/bash
currentUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{print $3}')
domain=$"@yourdomainhere"
sudo -u $currentUser defaults write com.microsoft.office OfficeActivationEmailAddress -string "$currentUser$domain"
sleep 2
sudo -u $currentUser open "/Applications/Microsoft Word.app"
exit 0
OpenZoom
#!/bin/bash
currentUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{print $3}')
sudo -u $currentUser open "/Applications/zoom.us.app/"
exit 0
Open Creative Cloud Desktop App and auto login
#!/bin/bash
currentUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{print $3}')
sudo -u $currentUser open "/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app"/
sudo -u $currentUser osascript <<EOF
tell application "Creative Cloud"
activate
delay 3
tell application "System Events"
keystroke "$currentUser"
delay .5
keystroke "@yourdomainhere"
delay 1
keystroke return
delay 2
keystroke tab
delay .5
keystroke tab
delay .5
keystroke tab
delay .5
keystroke tab
delay .5
keystroke return
end tell
end tell
EOF
Assign Username to record
#!/bin/sh
currentUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{print $3}')
sleep 15
jamf recon -endUsername $currentUser
exit 0
All in all the login process took under 10 min for each student to login and setup and it took a little over a week to hand out at our high school and about the same for our middle school
Again this all worked so well, I figured I'd share it. Of course every now and then the script would have a timing error or would miss a step, so I also added it to self service to re run if it failed originally. But for some reason when re running it from self service, it didn't like the AppleScript commands that typed things out and I never figured out how to make a TCC for that self service re-run part. But it just meant that they would have to type more for those few occasions which was no big deal.
Anyway, stay healthy everyone!
Gabe Shackney
Princeton Public Schools