Skip to main content
Question

Smart Group of Mojave Supported Macs with Regex

  • September 26, 2018
  • 2 replies
  • 8 views

Forum|alt.badge.img+6

Posted asking how to. Found the answer.
This is what I've come up with to use Regex to sort out hardware that supports Mojave.
I used the Model Identifier

MacBook - ^MacBook(?![1234567],[1-9])[0-9]{1,2},[1-9]
MacBookAir - ^MacBookAir(?![1234],[1-9])[0-9]{1,2},[1-9]
MacBookPro - ^MacBookPro(?![12345678],[1-9])[0-9]{1,2},[1-9]
Macmini - ^Macmini(?![12345],[1-9])[0-9]{1,2},[1-9]
iMac - ^iMac(?![1-9],[1-9]|[0-2]{2},[1-9])[0-9]{1,2},[1-9]
iMacPro - ^iMacPro[0-9]{1,2},[1-9]
MacPro - ^MacPro(?![1234],[1-9])[0-9]{1,2},[1-9]

The only issue I see is the MacPro 5,1 must have a Metal GPU. Would I have to create an EA to pull what video card are in those boxes?

2 replies

donmontalvo
Forum|alt.badge.img+36
  • Hall of Fame
  • January 30, 2019

FWIW, a once-per-computer policy to determine if computer supports Mojave:

#!/bin/bash

outputFile="/tmp/.tempMojaveTestFile.txt"
modelIdentifier=$( sysctl -n hw.model )
folderPath="/Library/COMPANY/SearchResults"

cat << 'EOF' > $outputFile
iMac10,1
iMac11,1
iMac11,2
iMac11,3
iMac12,1
iMac12,2
iMac4,1
iMac4,2
iMac5,1
iMac5,2
iMac6,1
iMac7,1
iMac8,1
iMac9,1
MacBook1,1
MacBook2,1
MacBook3,1
MacBook4,1
MacBook5,1
MacBook5,2
MacBook6,1
MacBook7,1
MacBookAir1,1
MacBookAir2,1
MacBookAir3,1
MacBookAir3,2
MacBookAir4,1
MacBookAir4,2
MacBookPro1,1
MacBookPro1,2
MacBookPro2,1
MacBookPro2,2
MacBookPro3,1
MacBookPro4,1
MacBookPro5,1
MacBookPro5,2
MacBookPro5,3
MacBookPro5,4
MacBookPro5,5
MacBookPro6,1
MacBookPro6,2
MacBookPro7,1
MacBookPro8,1
MacBookPro8,2
MacBookPro8,3
Macmini1,1
Macmini2,1
Macmini3,1
Macmini4,1
Macmini5,1
Macmini5,2
Macmini5,3
MacPro1,1
MacPro2,1
MacPro3,1
MacPro4,1
Xserve1,1
Xserve2,1
Xserve3,1
EOF

if [[ -e "$outputFile" ]]
then
    if grep -R "$modelIdentifier" "$outputFile"
    then
        touch "$folderPath"/SupportsMojaveNOT.txt
    else
        touch "$folderPath"/SupportsMojave.txt
    fi
else
    echo "$outputFile does not exist."
    exit 1
fi

rm "$outputFile"

exit 0

Would then need a simple EA to show which file exists, to feed a Smart Computer Group.

HTH,
Don


spalmer
Forum|alt.badge.img+22
  • Valued Contributor
  • January 30, 2019

You can use the script posted at https://github.com/laurentpertois/Mojave-Compatibility-Checker to return a true or false value in an Extension Attribute.