mirror of
https://github.com/jamf/Setup-Manager.git
synced 2026-02-03 14:13:24 +00:00
FR - Add minimum macOS Version Check for ADE #27
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Uggbert on GitHub.
Problem:
As devices age out we want to prevent users enrolling older or unsupported devices. We currently force devices during ADE to upgrade to latest macOS based on hardware using JAMF. This is fine for supported models, however a user can currently still enrol an ADE device with macOS 11, 12 and now 13 installed as the latest OS - even though they are all end of life.
Currently I have a script that runs during pre-stage (before JSM installs) to check macOS version and (not very gracefully) interrupt the ADE process and reboot the device, rendering it unusable.
Where JSM can help:
During the 'Getting Ready' phase it would be ideal at this point to check the macOS version and if it falls below an admin defined value in the config it simply halts and displays a custom message - usually in our case directing the user to contact our Service Desk
'Sorry, we cannot proceed with setup of your device. Your device (macOS 13) no longer meets the organisations minimum macOS requirements (macOS 14), please contact the Service Desk to arrange for a replacement device'
This keeps the device enrolled (so we have sight of it in JAMF) but does not allow the user to proceed and/or use the device. If they reboot or try to force quit JSM - at the next reboot it will just loop back into JSM due to the completed flag file being missing.
@scriptingosx commented on GitHub:
I am not certain there is anything Setup Manager can do here. Setup Manager does not launch until after a Mac is enrolled, so the best it could do is stall the progress. You can already achieve that with a custom prestage workflow.
This is a feature request for Apple to refuse enrollment below a certain macOS version, but I'd assume they will refer to the softwareupdate option and say “use that”
@Uggbert commented on GitHub:
Here is my current workaround for this type of workflow.
This will kill and remove JSM and leave the device enrolled in JAMF but with no usable user account (we skip user account creation during setup assistant) as we use Jamf Connect - as this is not present due to JSM ending right as it starts, the only user that can login is the hidden local Jamf admin account. The scirpt then attempts to download Swift Dialog to present a nicer UI with some more info, if that fails the user will still see the loginwindow custom text.