Howdy everybody! Time for my annual post about how we all need to get our budgets prepped and ready to go for all the hardware we need to replace that Apple is dropping from its OS Compatibility list!
I've modified my previous regex statement to take out the models that were lost to us this year to the latest macOS version. It looks like Apple is taking a big ole axe to the intel macs, minus only a couple of exceptions that seem to tie to the devices that were still being sold at the time of the M1 release. One tricky piece are the specific intel MacBook Pro's that Apple has listed. In that grouping are the MacBookPro16,x models, where x is 1,2 and 4, but not the 16,3 model, so keep that in mind. If anyone has details that contradict that, please let me know here and i'll quickly change the posted regex.
I've tested this in my own Jamf instances to verify its returning the data that i'd expect to see, and am confident this will be able to match everything that is no longer supported by MacOS Tahoe.
(^Mac1[3-9],\\b[0-9]{1,2}\\b|MacBook\\d{2}|MacBookAir(\\d{2}),[1-9]|Macmini[9],\\b[0-9]{1,2}\\b|MacPro[7-9],\\b[0-9]{1,2}\\b|iMac(2[0-9]),\\d|MacBookPro(?:16,(?!3)\\d{1,2}|1[7-9],\\d{1,2}|2[0-9],\\d{1,2})|VirtualMac)
You can create a smart group using this in order to find devices in your environments thata re not compatible to be upgraded to macOS Tahoe by using the criteria item Model Identifier and then selecting "does not match regex" operator. Copy/paste the regex into the value and save the Smart Group to view all mac's that ARE NOT compatible with Tahoe. You can also set the operator to "matches regex" to see devices that ARE compatible.
I'll also show my process here this time incase anyone wants to try out making something like this themselves. I use the webpage https://regex101.com/, and in there I use a test string that i've added to over time and keep saved elsewhere that is just a long list of model identifiers grouped by device type.
I'll share that data set in a comment here as well so others can just copy/paste it in there and see how the sausage is made. If you haven't used this site before, its a great way to verify regex created elsewhere (cought chatgpt cough) against a set of known data, and see how things are matching up.
I will continue to update this regex in the post as new hardware comes out if i find any issues with consistency, and as always please let me know by replying here if you find any mistakes and i'll try to quickly rectify.
Thank you, and may the force be with you all.