Computer Name Script

gloper1977
Contributor

I use a Policy that runs the script below to name our MacBooks to the machine's S/N that runs after enrollment and lately it stopped working.  It might be since Ventura came out or one of the revision, but I cannot confirm.  I can run the commands manually so they commands haven't changed.  Any suggestions would be great.

 

#!/usr/bin/env bash

# Get the Serial Number of the Machine
sn=$(system_profiler SPHardwareDataType | awk '/Serial/ {print $4}')

# Set the ComputerName, HostName and LocalHostName
scutil --set ComputerName $sn
scutil --set HostName $sn
scutil --set LocalHostName $sn

1 ACCEPTED SOLUTION

mm2270
Legendary Contributor III

I can't say why the above would not be working. It could be a timing thing. With computer rename scripts, sometimes if they kick in too quickly they don't take effect and/or the original name sticks around, making it look like the command failed. it may also be that you have to clear the cache after doing the rename. I run this command in my script right after naming the computer.

/usr/bin/dscacheutil -flushcache

Also, you can try using the jamf binary itself to do the renaming, which may yield better results.

/usr/local/bin/jamf setComputerName -useSerialNumber

 

View solution in original post

3 REPLIES 3

gloper1977
Contributor

Forgot to include that the Policy shows Complete with no errors in Jamf Pro.

mm2270
Legendary Contributor III

I can't say why the above would not be working. It could be a timing thing. With computer rename scripts, sometimes if they kick in too quickly they don't take effect and/or the original name sticks around, making it look like the command failed. it may also be that you have to clear the cache after doing the rename. I run this command in my script right after naming the computer.

/usr/bin/dscacheutil -flushcache

Also, you can try using the jamf binary itself to do the renaming, which may yield better results.

/usr/local/bin/jamf setComputerName -useSerialNumber

 

I added the flush dns command to the scirpt and also put a jamf recon at the end and it worked.  Thanks for the recommendation.