Skip to content

Instantly share code, notes, and snippets.

@tempusthales
Last active September 20, 2022 14:54
Show Gist options
  • Save tempusthales/f209d9eae2b27cfdc86eb6f0c77d1732 to your computer and use it in GitHub Desktop.
Save tempusthales/f209d9eae2b27cfdc86eb6f0c77d1732 to your computer and use it in GitHub Desktop.
rename mac's by chassis-serialnumber.domain
#!/bin/bash
#define variables
laptop="ML-"
workstation="MW-"
server="S-"
tld="your.fully.qualified.domain"
# grabbing mac serial number...
serial=$(ioreg -l |grep "IOPlaLormSerialNumber"|cut -d ""="" -f 2|sed -e s/[^[:alnum:]]//g) # and model name...
model=$(ioreg -l |grep "product-name" |cut -d ""="" -f 2|sed -e s/[^[:alnum:]]//g | sed s/[0-9]//g) # renaming based on model ie. prefix-computerserial.tld
case "$model" in
"MacBookPro" )
/usr/sbin/scutil --set ComputerName "$laptop$serial" /usr/sbin/scutil --set LocalHostName "$laptop$serial" /usr/sbin/scutil --set HostName "${laptop}${serial}.${tld}"
echo "$model"
echo "$laptop$serial"
echo "${laptop}${serial}.${tld}"
;;
"MacBookAir" )
/usr/sbin/scutil --set ComputerName "$laptop$serial" /usr/sbin/scutil --set LocalHostName "$laptop$serial" /usr/sbin/scutil --set HostName "${laptop}${serial}.${tld}"
echo "$model"
echo "$laptop$serial"
echo "${laptop}${serial}.${tld}"
;;
"MacPro" )
/usr/sbin/scutil --set ComputerName "workstation$serial" /usr/sbin/scutil --set LocalHostName "workstation$serial" /usr/sbin/scutil --set HostName "${workstation}${serial}.${tld}" echo “$model"
echo "workstation$serial"
echo "${workstation}${serial}.${tld}"
;;
"iMac" )
/usr/sbin/scutil --set ComputerName "workstation$serial" /usr/sbin/scutil --set LocalHostName "workstation$serial" /usr/sbin/scutil --set HostName "${workstation}${serial}.${tld}" echo "$model"
echo “workstation$serial"
echo "${workstation}${serial}.${tld}"
;;
"Macmini" )
/usr/sbin/scutil --set ComputerName "$server$serial" /usr/sbin/scutil --set LocalHostName "$server$serial" /usr/sbin/scutil --set HostName "${server}${serial}.${tld}"
echo "$model"
echo "$server$serial"
echo "${server}${serial}.${tld}"
;;
*)
echo "Computer model not found."
exit 0
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment