Skip to content

Instantly share code, notes, and snippets.

@pnxl
Last active March 25, 2022 15:28
Show Gist options
  • Save pnxl/0eac6d07c3bc0f352e47fa59d0b42833 to your computer and use it in GitHub Desktop.
Save pnxl/0eac6d07c3bc0f352e47fa59d0b42833 to your computer and use it in GitHub Desktop.
Detect Mac SMBIOSes
function smbios(model) {
switch (model) {
case "MacBook1,1":
return "MacBook (13-inch, Mid 2006)";
case "MacBook2,1":
return "MacBook (13-inch, Late 2006)";
case "MacBook3,1":
return "MacBook (13-inch, Late 2007)";
case "MacBook4,1":
return "MacBook (13-inch, Early 2008)";
case "MacBook5,1":
return "MacBook (13-inch, Late 2008)";
case "MacBook6,1":
return "MacBook (13-inch, Late 2009)";
case "MacBook7,1":
return "MacBook (13-inch, Mid 2010)";
case "MacBook8,1":
return "MacBook (12-inch, Early 2015)";
case "MacBook9,1":
return "MacBook (12-inch, Early 2016)";
case "MacBook10,1":
return "MacBook (12-inch, Mid 2017)";
case "MacBookAir1,1":
return "MacBook Air (13-inch, Early 2008)";
case "MacBookAir2,1":
return "MacBook Air (13-inch, Late 2008)";
case "MacBookAir3,1":
return "MacBook Air (11-inch, Late 2010)";
case "MacBookAir3,1":
return "MacBook Air (13-inch, Late 2010)";
case "MacBookAir4,1":
return "MacBook Air (11-inch, Mid 2011)";
case "MacBookAir4,2":
return "MacBook Air (13-inch, Mid 2011)";
case "MacBookAir5,1":
return "MacBook Air (11-inch, Mid 2012)";
case "MacBookAir5,2":
return "MacBook Air (13-inch, Mid 2012)";
case "MacBookAir6,1":
return "MacBook Air (11-inch, Mid 2013)";
case "MacBookAir6,2":
return "MacBook Air (13-inch, Early 2013)";
case "MacBookAir7,1":
return "MacBook Air (11-inch, Early 2015)";
case "MacBookAir7,2":
return "MacBook Air (13-inch, Early 2015)";
case "MacBookAir8,1":
return "MacBook Air (Retina, 13-inch, 2018)";
case "MacBookAir9,1":
return "MacBook Air (Retina, 13-inch, 2018)";
case "MacBookAir10,1":
return "MacBook Air (13-inch, 2020)";
case "MacBookPro1,1":
return "MacBook Pro (15-inch, Early 2006)";
case "MacBookPro1,2":
return "MacBook Pro (17-inch, Early 2006)";
case "MacBookPro2,1":
return "MacBook Pro (17-inch, Late 2006)";
case "MacBookPro2,2":
return "MacBook Pro (15-inch, Late 2006)";
case "MacBookPro3,1":
return "MacBook Pro (15-inch, Mid 2007)";
case "MacBookPro4,1":
return "MacBook Pro (15-inch, Early 2008)";
case "MacBookPro5,1":
return "MacBook Pro (15-inch, Late 2008)";
case "MacBookPro5,2":
return "MacBook Pro (17-inch, Early 2009)";
case "MacBookPro5,3":
return "MacBook Pro (15-inch, Mid 2009)";
case "MacBookPro5,4":
return "MacBook Pro (15-inch, Mid 2009)";
case "MacBookPro5,5":
return "MacBook Pro (13-inch, Mid 2009)";
case "MacBookPro6,1":
return "MacBook Pro (17-inch, Mid 2010)";
case "MacBookPro6,2":
return "MacBook Pro (15-inch, Mid 2010)";
case "MacBookPro7,1":
return "MacBook Pro (13-inch, Mid 2010)";
case "MacBookPro8,1":
return "MacBook Pro (13-inch, Early 2011)";
case "MacBookPro8,2":
return "MacBook Pro (15-inch, Early 2011)";
case "MacBookPro8,3":
return "MacBook Pro (17-inch, Early 2011)";
case "MacBookPro9,1":
return "MacBook Pro (15-inch, Mid 2012)";
case "MacBookPro9,2":
return "MacBook Pro (13-inch, Mid 2012)";
case "MacBookPro10,1":
return "MacBook Pro (15-inch, Mid 2012)";
case "MacBookPro10,2":
return "MacBook Pro (13-inch, Late 2012)";
case "MacBookPro11,1":
return "MacBook Pro (13-inch, Late 2013)";
case "MacBookPro11,2":
return "MacBook Pro (15-inch, Late 2013)";
case "MacBookPro11,3":
return "MacBook Pro (15-inch, Late 2013)";
case "MacBookPro11,4":
return "MacBook Pro (15-inch, Mid 2015)";
case "MacBookPro11,5":
return "MacBook Pro (15-inch, Mid 2015)";
case "MacBookPro12,1":
return "MacBook Pro (13-inch, Early 2015)";
case "MacBookPro13,1":
return "MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)";
case "MacBookPro13,2":
return "MacBook Pro (13-inch, 2016, w/ Touch Bar, Four Thunderbolt 3 ports)";
case "MacBookPro13,3":
return "MacBook Pro (15-inch, 2016, w/ Touch Bar)";
case "MacBookPro14,1":
return "MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)";
case "MacBookPro14,2":
return "MacBook Pro (13-inch, 2017, w/ Touch Bar, Four Thunderbolt 3 ports)";
case "MacBookPro14,3":
return "MacBook Pro (15-inch, 2017, w/ Touch Bar)";
case "MacBookPro15,1":
return "MacBook Pro (15-inch, 2018, w/ Touch Bar)";
case "MacBookPro15,2":
return "MacBook Pro (13-inch, 2018, w/ Touch Bar, Four Thunderbolt 3 ports)";
case "MacBookPro15,3":
return "MacBook Pro (15-inch, 2018, w/ Touch Bar)";
case "MacBookPro15,4":
return "MacBook Pro (13-inch, 2019, w/ Touch Bar, Two Thunderbolt 3 ports)";
case "MacBookPro16,1":
return "MacBook Pro (16-inch, 2019, w/ Touch Bar)";
case "MacBookPro16,2":
return "MacBook Pro (13-inch, 2020, w/ Touch Bar, Four Thunderbolt 3 ports)";
case "MacBookPro16,3":
return "MacBook Pro (13-inch, 2020, w/ Touch Bar, Two Thunderbolt 3 ports)";
case "MacBookPro16,4":
return "MacBook Pro (16-inch, 2019, w/ Touch Bar)";
case "MacBookPro17,1":
return "MacBook Pro (13-inch, 2020, w/ Touch Bar)";
case "MacBookPro18,1":
return "MacBook Pro (16-inch, 2021)";
case "MacBookPro18,2":
return "MacBook Pro (16-inch, 2021)";
case "MacBookPro18,3":
return "MacBook Pro (14-inch, 2021)";
case "MacBookPro18,4":
return "MacBook Pro (14-inch, 2021)";
case "MacPro1,1":
return "Mac Pro (Mid 2006)";
case "MacPro2,1":
return "Mac Pro (Early 2007)";
case "MacPro3,1":
return "Mac Pro (Early 2008)";
case "MacPro4,1":
return "Mac Pro (Early 2009)";
case "MacPro5,1":
return "Mac Pro (Mid 2010)";
case "MacPro6,1":
return "Mac Pro (Late 2013)";
case "MacPro7,1":
return "Mac Pro (Mid 2019)";
case "Xserve1,1":
return "Xserve (Late 2006)";
case "Xserve2,1":
return "Xserve (Early 2008)";
case "Xserve3,1":
return "Xserve (Early 2009)";
case "iMac4,1":
return "iMac (17-inch, Early 2006)";
case "iMac4,2":
return "iMac (17-inch, Mid 2006)";
case "iMac5,1":
return "iMac (17-inch, Late 2006)";
case "iMac5,2":
return "iMac (17-inch, Late 2006, w/ Optical Drive)";
case "iMac6,1":
return "iMac (24-inch, Late 2006)";
case "iMac7,1":
return "iMac (20-inch, Mid 2007)";
case "iMac8,1":
return "iMac (20-inch, Early 2008)";
case "iMac9,1":
return "iMac (20-inch, Early 2009)";
case "iMac10,1":
return "iMac (21.5-inch or 27-inch, Early 2009)";
case "iMac11,1":
return "iMac (27-inch, Late 2009)";
case "iMac11,2":
return "iMac (21.5-inch, Mid 2010)";
case "iMac11,3":
return "iMac (27-inch, Mid 2010)";
case "iMac12,1":
return "iMac (21.5-inch, Mid 2011)";
case "iMac12,2":
return "iMac (27-inch, Mid 2011)";
case "iMac13,1":
return "iMac (21.5-inch, Late 2012)";
case "iMac13,2":
return "iMac (27-inch, Late 2012)";
case "iMac14,1":
return "iMac (21.5-inch, Late 2013)";
case "iMac14,2":
return "iMac (27-inch, Late 2013)";
case "iMac14,3":
return "iMac (21.5-inch, Late 2013)";
case "iMac14,4":
return "iMac (21.5-inch, Mid 2014)";
case "iMac15,1":
return "iMac (Retina 5K, 27-inch, Mid 2014)";
case "iMac16,1":
return "iMac (21.5-inch, Late 2015)";
case "iMac16,2":
return "iMac (21.5-inch, Late 2015)";
case "iMac17,1":
return "iMac (Retina 5K, 27-inch, Late 2015)";
case "iMac18,1":
return "iMac (21.5-inch, 2017)";
case "iMac18,2":
return "iMac (Retina 4K, 21.5-inch, 2017)";
case "iMac18,3":
return "iMac (Retina 5K, 27-inch, 2017)";
case "iMac19,1":
return "iMac (Retina 5K, 27-inch, 2019)";
case "iMac19,2":
return "iMac (Retina 4K, 21.5-inch, 2019)";
case "iMac20,1":
return "iMac (Retina 5K, 27-inch, 2020)";
case "iMac20,2":
return "iMac (Retina 5K, 27-inch, 2020)";
case "iMac21,2":
return "iMac (24-inch, 2021)";
case "iMac21,2":
return "iMac (24-inch 2020)";
case "iMacPro1,1":
return "iMac Pro (Late 2017)";
case "Macmini1,1":
return "Mac mini (Early 2006)";
case "Macmini2,1":
return "Mac mini (Mid 2007)";
case "Macmini3,1":
return "Mac mini (Early 2009)";
case "Macmini4,1":
return "Mac mini (Mid 2010)";
case "Macmini5,1":
return "Mac mini (Mid 2011)";
case "Macmini5,2":
return "Mac mini (Mid 2011)";
case "Macmini5,3":
return "Mac mini (Mid 2011)";
case "Macmini6,1":
return "Mac mini (Late 2012)";
case "Macmini6,2":
return "Mac mini (Late 2012)";
case "Macmini7,1":
return "Mac mini (Late 2014)";
case "Macmini8,1":
return "Mac mini (2018)";
case "Macmini9,1":
return "Mac mini (2020)";
case "Mac13,1":
return "Mac Studio";
case "Mac13,2":
return "Mac Studio";
}
};
@pnxl
Copy link
Author

pnxl commented Feb 23, 2022

i went through immense pain for this please let me know if i missed an smbios

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment