OS X losing hostname on 2nd boot

franton
Valued Contributor III

This is a really infuriating issue.

At work we're running a Casper Suite 8.62 system for OS X deployment. What we're finding is that the Casper imaging process is correctly naming the computers from the JSS, the computer retains it's name on first boot but loses it completely on 2nd boot.

Now I thought i'd traced this issue to our DNS (because we have Novell DNS and we're migrating to Microsoft DNS servers) and I was able to stop the issue on the MS DNS servers ... on WiFi. Today we changed over a couple floors of our building to the new servers ... and nada, the macs are losing their names on 2nd boot. It's a pretty serious issue as it compromises our inventory on the JSS. We've a string of computers that either have randomly assigned existing names or have been given blank names.

Now if you program the computer name on the mac manually at this point (as well as fix the inventory item on the JSS), the mac then seems to keep its name in perpetuity. I'm concentrating on the Microsoft DNS because that's what we're moving to anyway. I've made sure the Systems team have enabled the "updating clients that do not request updates (NT clients)" option and supplied the correct authentication credentials too for the DNS servers. This seemed to fix everything on WiFi, but seemingly no effect on Ethernet.

I thought we had DNS issues, then DHCP and now i'm back to JAMF bug?

Any thoughts?

4 ACCEPTED SOLUTIONS

jhbush
Valued Contributor II

I use this in my first boot script to lock down the name

scutil --set HostName $(scutil --get LocalHostName)

View solution in original post

Nix4Life
Valued Contributor

franton

its not a jamf bug. it may be the way MS DNS handles macs. had the same issue last year. there is a setting on the DNS server, cant get it exactly because work was affected by sandy. but its something about pre-2000 and names. if this jars someone else's memory please chime in. I can follow up on Monday. jh is correct . use a name script like his and this setting on the DNS server and your golden.

LS

View solution in original post

franton
Valued Contributor III

Nope i've discovered it's a major JAMF bug in 8.62. Our old Novell DNS was just not helping matters along.

What i've discovered this morning is that the JAMF naming script is altering /Library/Preferences/SystemConfiguration/preferences.plist as expected BUT for some reason the model identifier key is being set to "MacBookPro 10,1" instead of the correct mac model name. For my current test machine, this should be "iMac 7,1". This persists until the next reboot where the OS suddenly seems to recognise the information isn't for it's own model and resets it all.

This is also tied in with our screwed up network service name on first boot issue as well. The same file controls that information too, which explains why things reset themselves back to normal on second boot IF the OS is resetting the file as I think it's doing.

Couple examples for you. Here's the first boot config file. Note the model name near the top:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CurrentSet</key> <string>/Sets/A2A73A11-4619-464A-A3A1-486C092F780B</string> <key>Model</key> <string>MacBookPro10,1</string> <key>NetworkServices</key> <dict> <key>EEE23CFE-4A88-4C60-A784-213508E847E2</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en1</string> <key>Hardware</key> <string>Ethernet</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Bluetooth PAN</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Bluetooth PAN</string> </dict> <key>F4EAB497-D321-443B-92D7-73BBB4ED3395</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en0</string> <key>Hardware</key> <string>AirPort</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> </dict> <key>Sets</key> <dict> <key>A2A73A11-4619-464A-A3A1-486C092F780B</key> <dict> <key>Network</key> <dict> <key>Global</key> <dict> <key>IPv4</key> <dict> <key>ServiceOrder</key> <array> <string>F4EAB497-D321-443B-92D7-73BBB4ED3395</string> <string>EEE23CFE-4A88-4C60-A784-213508E847E2</string> </array> </dict> </dict> <key>Interface</key> <dict> <key>en0</key> <dict> <key>AirPort</key> <dict> <key>JoinModeFallback</key> <array> <string>Prompt</string> </array> <key>PowerEnabled</key> <false/> <key>RememberJoinedNetworks</key> <true/> </dict> </dict> </dict> <key>Service</key> <dict> <key>EEE23CFE-4A88-4C60-A784-213508E847E2</key> <dict> <key>LINK</key> <string>/NetworkServices/EEE23CFE-4A88-4C60-A784-213508E847E2</string> </dict> <key>F4EAB497-D321-443B-92D7-73BBB4ED3395</key> <dict> <key>LINK</key> <string>/NetworkServices/F4EAB497-D321-443B-92D7-73BBB4ED3395</string> </dict> </dict> </dict> <key>UserDefinedName</key> <string>Automatic</string> </dict> </dict> <key>System</key> <dict> <key>Network</key> <dict> <key>HostNames</key> <dict> <key>LocalHostName</key> <string>* deleted *</string> </dict> </dict> <key>System</key> <dict> <key>ComputerName</key> <string>* deleted *</string> <key>ComputerNameEncoding</key> <integer>134217984</integer> <key>HostName</key> <string>* deleted *</string> </dict> </dict> <key>VirtualNetworkInterfaces</key> <dict> <key>Bond</key> <dict/> <key>VLAN</key> <dict/> </dict> </dict> </plist>

Here's the same preferences.plist file but after second boot. Please note it's TWICE the length of the original as the mac appears to have tacked on it's default config after the initially incorrect stuff.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CurrentSet</key> <string>/Sets/10CF1CBA-0DC1-4AC1-BC28-A6CB6EE8B13F</string> <key>MacBookPro10,1:CurrentSet</key> <string>/Sets/A2A73A11-4619-464A-A3A1-486C092F780B</string> <key>MacBookPro10,1:NetworkServices</key> <dict> <key>4867F421-E2A2-49C1-A9B1-CF1BABE8FC2E</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>fw0</string> <key>Hardware</key> <string>FireWire</string> <key>Type</key> <string>FireWire</string> <key>UserDefinedName</key> <string>FireWire</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>FireWire</string> </dict> <key>DD5246C1-CAB5-4180-85B3-39C3BBBBDF0C</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>PPP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>Bluetooth-Modem</string> <key>Hardware</key> <string>Modem</string> <key>SubType</key> <string>PPPSerial</string> <key>Type</key> <string>PPP</string> <key>UserDefinedName</key> <string>Bluetooth DUN</string> </dict> <key>Modem</key> <dict> <key>ConnectionPersonality</key> <string>Default Personality</string> <key>ConnectionScript</key> <string>/Library/Modem Scripts/Generic Dialup.ccl</string> <key>DataCompression</key> <integer>1</integer> <key>DeviceModel</key> <string>Dialup Device</string> <key>DeviceVendor</key> <string>Generic</string> <key>DialMode</key> <string>WaitForDialTone</string> <key>ErrorCorrection</key> <integer>1</integer> <key>PulseDial</key> <integer>0</integer> <key>Speaker</key> <integer>1</integer> </dict> <key>PPP</key> <dict> <key>ACSPEnabled</key> <integer>0</integer> <key>CommDisplayTerminalWindow</key> <integer>0</integer> <key>CommRedialCount</key> <integer>1</integer> <key>CommRedialEnabled</key> <integer>1</integer> <key>CommRedialInterval</key> <integer>5</integer> <key>CommUseTerminalScript</key> <integer>0</integer> <key>DialOnDemand</key> <integer>0</integer> <key>DisconnectOnFastUserSwitch</key> <integer>1</integer> <key>DisconnectOnIdle</key> <integer>1</integer> <key>DisconnectOnIdleTimer</key> <integer>600</integer> <key>DisconnectOnLogout</key> <integer>1</integer> <key>DisconnectOnSleep</key> <integer>1</integer> <key>IPCPCompressionVJ</key> <integer>1</integer> <key>IdleReminder</key> <integer>0</integer> <key>IdleReminderTimer</key> <integer>1800</integer> <key>LCPEchoEnabled</key> <integer>0</integer> <key>LCPEchoFailure</key> <integer>4</integer> <key>LCPEchoInterval</key> <integer>10</integer> <key>Logfile</key> <string>/var/log/ppp.log</string> <key>VerboseLogging</key> <integer>0</integer> </dict> <key>Proxies</key> <dict> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Bluetooth DUN</string> </dict> <key>EEE23CFE-4A88-4C60-A784-213508E847E2</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en1</string> <key>Hardware</key> <string>Ethernet</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Bluetooth PAN</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Bluetooth PAN</string> </dict> <key>F4EAB497-D321-443B-92D7-73BBB4ED3395</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en0</string> <key>Hardware</key> <string>AirPort</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> </dict> <key>MacBookPro10,1:Sets</key> <dict> <key>A2A73A11-4619-464A-A3A1-486C092F780B</key> <dict> <key>Network</key> <dict> <key>Global</key> <dict> <key>IPv4</key> <dict> <key>ServiceOrder</key> <array> <string>DD5246C1-CAB5-4180-85B3-39C3BBBBDF0C</string> <string>F4EAB497-D321-443B-92D7-73BBB4ED3395</string> <string>4867F421-E2A2-49C1-A9B1-CF1BABE8FC2E</string> <string>EEE23CFE-4A88-4C60-A784-213508E847E2</string> </array> </dict> </dict> <key>Interface</key> <dict> <key>en0</key> <dict> <key>AirPort</key> <dict> <key>JoinModeFallback</key> <array> <string>Prompt</string> </array> <key>PowerEnabled</key> <false/> <key>RememberJoinedNetworks</key> <true/> </dict> </dict> </dict> <key>Service</key> <dict> <key>4867F421-E2A2-49C1-A9B1-CF1BABE8FC2E</key> <dict> <key>LINK</key> <string>/NetworkServices/4867F421-E2A2-49C1-A9B1-CF1BABE8FC2E</string> </dict> <key>DD5246C1-CAB5-4180-85B3-39C3BBBBDF0C</key> <dict> <key>LINK</key> <string>/NetworkServices/DD5246C1-CAB5-4180-85B3-39C3BBBBDF0C</string> </dict> <key>EEE23CFE-4A88-4C60-A784-213508E847E2</key> <dict> <key>LINK</key> <string>/NetworkServices/EEE23CFE-4A88-4C60-A784-213508E847E2</string> </dict> <key>F4EAB497-D321-443B-92D7-73BBB4ED3395</key> <dict> <key>LINK</key> <string>/NetworkServices/F4EAB497-D321-443B-92D7-73BBB4ED3395</string> </dict> </dict> </dict> <key>UserDefinedName</key> <string>Automatic</string> </dict> </dict> <key>MacBookPro10,1:System</key> <dict> <key>Network</key> <dict> <key>HostNames</key> <dict> <key>LocalHostName</key> <string>* deleted *</string> </dict> </dict> <key>System</key> <dict> <key>ComputerName</key> <string>* deleted *</string> <key>ComputerNameEncoding</key> <integer>134217984</integer> <key>HostName</key> <string>* deleted *</string> </dict> </dict> <key>MacBookPro10,1:VirtualNetworkInterfaces</key> <dict> <key>Bond</key> <dict/> <key>VLAN</key> <dict/> </dict> <key>Model</key> <string>iMac7,1</string> <key>NetworkServices</key> <dict> <key>8C28268F-FA91-4565-ACD6-A14D6ABECAFD</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>PPP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>Bluetooth-Modem</string> <key>Hardware</key> <string>Modem</string> <key>SubType</key> <string>PPPSerial</string> <key>Type</key> <string>PPP</string> <key>UserDefinedName</key> <string>Bluetooth DUN</string> </dict> <key>Modem</key> <dict> <key>ConnectionPersonality</key> <string>Default Personality</string> <key>ConnectionScript</key> <string>/Library/Modem Scripts/Generic Dialup.ccl</string> <key>DataCompression</key> <integer>1</integer> <key>DeviceModel</key> <string>Dialup Device</string> <key>DeviceVendor</key> <string>Generic</string> <key>DialMode</key> <string>WaitForDialTone</string> <key>ErrorCorrection</key> <integer>1</integer> <key>PulseDial</key> <integer>0</integer> <key>Speaker</key> <integer>1</integer> </dict> <key>PPP</key> <dict> <key>ACSPEnabled</key> <integer>0</integer> <key>CommDisplayTerminalWindow</key> <integer>0</integer> <key>CommRedialCount</key> <integer>1</integer> <key>CommRedialEnabled</key> <integer>1</integer> <key>CommRedialInterval</key> <integer>5</integer> <key>CommUseTerminalScript</key> <integer>0</integer> <key>DialOnDemand</key> <integer>0</integer> <key>DisconnectOnFastUserSwitch</key> <integer>1</integer> <key>DisconnectOnIdle</key> <integer>1</integer> <key>DisconnectOnIdleTimer</key> <integer>600</integer> <key>DisconnectOnLogout</key> <integer>1</integer> <key>DisconnectOnSleep</key> <integer>1</integer> <key>IPCPCompressionVJ</key> <integer>1</integer> <key>IdleReminder</key> <integer>0</integer> <key>IdleReminderTimer</key> <integer>1800</integer> <key>LCPEchoEnabled</key> <integer>0</integer> <key>LCPEchoFailure</key> <integer>4</integer> <key>LCPEchoInterval</key> <integer>10</integer> <key>Logfile</key> <string>/var/log/ppp.log</string> <key>VerboseLogging</key> <integer>0</integer> </dict> <key>Proxies</key> <dict> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Bluetooth DUN</string> </dict> <key>BB267E49-D4A9-4462-8F97-C2000367801C</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en0</string> <key>Hardware</key> <string>Ethernet</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Ethernet</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Ethernet</string> </dict> <key>C505D6FF-C8C8-4DF3-9316-25B996E6FE5E</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en1</string> <key>Hardware</key> <string>AirPort</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> <key>D64196D8-5FA2-499B-AB80-399498F7670B</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>fw0</string> <key>Hardware</key> <string>FireWire</string> <key>Type</key> <string>FireWire</string> <key>UserDefinedName</key> <string>FireWire</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>FireWire</string> </dict> </dict> <key>Sets</key> <dict> <key>10CF1CBA-0DC1-4AC1-BC28-A6CB6EE8B13F</key> <dict> <key>Network</key> <dict> <key>Global</key> <dict> <key>IPv4</key> <dict> <key>ServiceOrder</key> <array> <string>8C28268F-FA91-4565-ACD6-A14D6ABECAFD</string> <string>BB267E49-D4A9-4462-8F97-C2000367801C</string> <string>D64196D8-5FA2-499B-AB80-399498F7670B</string> <string>C505D6FF-C8C8-4DF3-9316-25B996E6FE5E</string> </array> </dict> </dict> <key>Interface</key> <dict> <key>en1</key> <dict> <key>AirPort</key> <dict> <key>JoinMode</key> <string>Automatic</string> </dict> </dict> </dict> <key>Service</key> <dict> <key>8C28268F-FA91-4565-ACD6-A14D6ABECAFD</key> <dict> <key>LINK</key> <string>/NetworkServices/8C28268F-FA91-4565-ACD6-A14D6ABECAFD</string> </dict> <key>BB267E49-D4A9-4462-8F97-C2000367801C</key> <dict> <key>LINK</key> <string>/NetworkServices/BB267E49-D4A9-4462-8F97-C2000367801C</string> </dict> <key>C505D6FF-C8C8-4DF3-9316-25B996E6FE5E</key> <dict> <key>LINK</key> <string>/NetworkServices/C505D6FF-C8C8-4DF3-9316-25B996E6FE5E</string> </dict> <key>D64196D8-5FA2-499B-AB80-399498F7670B</key> <dict> <key>LINK</key> <string>/NetworkServices/D64196D8-5FA2-499B-AB80-399498F7670B</string> </dict> </dict> </dict> <key>UserDefinedName</key> <string>Automatic</string> </dict> </dict> <key>VirtualNetworkInterfaces</key> <dict> <key>Bond</key> <dict/> <key>VLAN</key> <dict/> </dict> </dict> </plist>

This now amalgamates two of our more serious deployment issues into one now. I'll be chatting with a JAMF engineer later today to discuss this.

View solution in original post

franton
Valued Contributor III

This is very untested code, but here's what i've come up with to sort this out as part of a firstrun script.

# Set variables here that we'll be working with
MacModel=$( ioreg -l | awk '/product-name/ { split($0, line, """); printf("%s
", line[4]); }' )
PrefModel=$( defaults read Library/Preferences/SystemConfiguration/preferences.plist Model )

# Test to see if they differ and fix if they do
if [[ "$PrefModel" != "$MacModel" ]];
then
   defaults write /Library/Preferences/SystemConfiguration/preferences.plist Model $MacModel
   plutil -convert xml1 /Library/Preferences/SystemConfiguration/preferences.plist
fi

View solution in original post

10 REPLIES 10

jhbush
Valued Contributor II

I use this in my first boot script to lock down the name

scutil --set HostName $(scutil --get LocalHostName)

Nix4Life
Valued Contributor

franton

its not a jamf bug. it may be the way MS DNS handles macs. had the same issue last year. there is a setting on the DNS server, cant get it exactly because work was affected by sandy. but its something about pre-2000 and names. if this jars someone else's memory please chime in. I can follow up on Monday. jh is correct . use a name script like his and this setting on the DNS server and your golden.

LS

franton
Valued Contributor III

Thanks guys! I was afraid i'd have to do something like this, but no matter. It's the extra ammo I need for what i'm about to pitch the project lead. (I'll be able now to get three of our major issues in one go now).

Much appreciated!

franton
Valued Contributor III

We've got the setting already. Now I just have to do the firstrun script.

greatkemo
Contributor II

Folks,

I have just started having the same problem with when imaging a computer lab, either using autoruns or manually booting each machine into casper imaging, and same happens here, ones the second reboot happens after all the software is installed, I loose all the hostnames and we are not running MS DNS we are running UNIX DNS services.

This issue has only appeared since upgrading to 8.62 and mountain lion clients

Kamal

rhysforrester
New Contributor

See; https://jamfnation.jamfsoftware.com/discussion.html?id=5078 for a bulky similar discussion.

franton
Valued Contributor III

Nope i've discovered it's a major JAMF bug in 8.62. Our old Novell DNS was just not helping matters along.

What i've discovered this morning is that the JAMF naming script is altering /Library/Preferences/SystemConfiguration/preferences.plist as expected BUT for some reason the model identifier key is being set to "MacBookPro 10,1" instead of the correct mac model name. For my current test machine, this should be "iMac 7,1". This persists until the next reboot where the OS suddenly seems to recognise the information isn't for it's own model and resets it all.

This is also tied in with our screwed up network service name on first boot issue as well. The same file controls that information too, which explains why things reset themselves back to normal on second boot IF the OS is resetting the file as I think it's doing.

Couple examples for you. Here's the first boot config file. Note the model name near the top:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CurrentSet</key> <string>/Sets/A2A73A11-4619-464A-A3A1-486C092F780B</string> <key>Model</key> <string>MacBookPro10,1</string> <key>NetworkServices</key> <dict> <key>EEE23CFE-4A88-4C60-A784-213508E847E2</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en1</string> <key>Hardware</key> <string>Ethernet</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Bluetooth PAN</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Bluetooth PAN</string> </dict> <key>F4EAB497-D321-443B-92D7-73BBB4ED3395</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en0</string> <key>Hardware</key> <string>AirPort</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> </dict> <key>Sets</key> <dict> <key>A2A73A11-4619-464A-A3A1-486C092F780B</key> <dict> <key>Network</key> <dict> <key>Global</key> <dict> <key>IPv4</key> <dict> <key>ServiceOrder</key> <array> <string>F4EAB497-D321-443B-92D7-73BBB4ED3395</string> <string>EEE23CFE-4A88-4C60-A784-213508E847E2</string> </array> </dict> </dict> <key>Interface</key> <dict> <key>en0</key> <dict> <key>AirPort</key> <dict> <key>JoinModeFallback</key> <array> <string>Prompt</string> </array> <key>PowerEnabled</key> <false/> <key>RememberJoinedNetworks</key> <true/> </dict> </dict> </dict> <key>Service</key> <dict> <key>EEE23CFE-4A88-4C60-A784-213508E847E2</key> <dict> <key>LINK</key> <string>/NetworkServices/EEE23CFE-4A88-4C60-A784-213508E847E2</string> </dict> <key>F4EAB497-D321-443B-92D7-73BBB4ED3395</key> <dict> <key>LINK</key> <string>/NetworkServices/F4EAB497-D321-443B-92D7-73BBB4ED3395</string> </dict> </dict> </dict> <key>UserDefinedName</key> <string>Automatic</string> </dict> </dict> <key>System</key> <dict> <key>Network</key> <dict> <key>HostNames</key> <dict> <key>LocalHostName</key> <string>* deleted *</string> </dict> </dict> <key>System</key> <dict> <key>ComputerName</key> <string>* deleted *</string> <key>ComputerNameEncoding</key> <integer>134217984</integer> <key>HostName</key> <string>* deleted *</string> </dict> </dict> <key>VirtualNetworkInterfaces</key> <dict> <key>Bond</key> <dict/> <key>VLAN</key> <dict/> </dict> </dict> </plist>

Here's the same preferences.plist file but after second boot. Please note it's TWICE the length of the original as the mac appears to have tacked on it's default config after the initially incorrect stuff.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CurrentSet</key> <string>/Sets/10CF1CBA-0DC1-4AC1-BC28-A6CB6EE8B13F</string> <key>MacBookPro10,1:CurrentSet</key> <string>/Sets/A2A73A11-4619-464A-A3A1-486C092F780B</string> <key>MacBookPro10,1:NetworkServices</key> <dict> <key>4867F421-E2A2-49C1-A9B1-CF1BABE8FC2E</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>fw0</string> <key>Hardware</key> <string>FireWire</string> <key>Type</key> <string>FireWire</string> <key>UserDefinedName</key> <string>FireWire</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>FireWire</string> </dict> <key>DD5246C1-CAB5-4180-85B3-39C3BBBBDF0C</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>PPP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>Bluetooth-Modem</string> <key>Hardware</key> <string>Modem</string> <key>SubType</key> <string>PPPSerial</string> <key>Type</key> <string>PPP</string> <key>UserDefinedName</key> <string>Bluetooth DUN</string> </dict> <key>Modem</key> <dict> <key>ConnectionPersonality</key> <string>Default Personality</string> <key>ConnectionScript</key> <string>/Library/Modem Scripts/Generic Dialup.ccl</string> <key>DataCompression</key> <integer>1</integer> <key>DeviceModel</key> <string>Dialup Device</string> <key>DeviceVendor</key> <string>Generic</string> <key>DialMode</key> <string>WaitForDialTone</string> <key>ErrorCorrection</key> <integer>1</integer> <key>PulseDial</key> <integer>0</integer> <key>Speaker</key> <integer>1</integer> </dict> <key>PPP</key> <dict> <key>ACSPEnabled</key> <integer>0</integer> <key>CommDisplayTerminalWindow</key> <integer>0</integer> <key>CommRedialCount</key> <integer>1</integer> <key>CommRedialEnabled</key> <integer>1</integer> <key>CommRedialInterval</key> <integer>5</integer> <key>CommUseTerminalScript</key> <integer>0</integer> <key>DialOnDemand</key> <integer>0</integer> <key>DisconnectOnFastUserSwitch</key> <integer>1</integer> <key>DisconnectOnIdle</key> <integer>1</integer> <key>DisconnectOnIdleTimer</key> <integer>600</integer> <key>DisconnectOnLogout</key> <integer>1</integer> <key>DisconnectOnSleep</key> <integer>1</integer> <key>IPCPCompressionVJ</key> <integer>1</integer> <key>IdleReminder</key> <integer>0</integer> <key>IdleReminderTimer</key> <integer>1800</integer> <key>LCPEchoEnabled</key> <integer>0</integer> <key>LCPEchoFailure</key> <integer>4</integer> <key>LCPEchoInterval</key> <integer>10</integer> <key>Logfile</key> <string>/var/log/ppp.log</string> <key>VerboseLogging</key> <integer>0</integer> </dict> <key>Proxies</key> <dict> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Bluetooth DUN</string> </dict> <key>EEE23CFE-4A88-4C60-A784-213508E847E2</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en1</string> <key>Hardware</key> <string>Ethernet</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Bluetooth PAN</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Bluetooth PAN</string> </dict> <key>F4EAB497-D321-443B-92D7-73BBB4ED3395</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en0</string> <key>Hardware</key> <string>AirPort</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> </dict> <key>MacBookPro10,1:Sets</key> <dict> <key>A2A73A11-4619-464A-A3A1-486C092F780B</key> <dict> <key>Network</key> <dict> <key>Global</key> <dict> <key>IPv4</key> <dict> <key>ServiceOrder</key> <array> <string>DD5246C1-CAB5-4180-85B3-39C3BBBBDF0C</string> <string>F4EAB497-D321-443B-92D7-73BBB4ED3395</string> <string>4867F421-E2A2-49C1-A9B1-CF1BABE8FC2E</string> <string>EEE23CFE-4A88-4C60-A784-213508E847E2</string> </array> </dict> </dict> <key>Interface</key> <dict> <key>en0</key> <dict> <key>AirPort</key> <dict> <key>JoinModeFallback</key> <array> <string>Prompt</string> </array> <key>PowerEnabled</key> <false/> <key>RememberJoinedNetworks</key> <true/> </dict> </dict> </dict> <key>Service</key> <dict> <key>4867F421-E2A2-49C1-A9B1-CF1BABE8FC2E</key> <dict> <key>LINK</key> <string>/NetworkServices/4867F421-E2A2-49C1-A9B1-CF1BABE8FC2E</string> </dict> <key>DD5246C1-CAB5-4180-85B3-39C3BBBBDF0C</key> <dict> <key>LINK</key> <string>/NetworkServices/DD5246C1-CAB5-4180-85B3-39C3BBBBDF0C</string> </dict> <key>EEE23CFE-4A88-4C60-A784-213508E847E2</key> <dict> <key>LINK</key> <string>/NetworkServices/EEE23CFE-4A88-4C60-A784-213508E847E2</string> </dict> <key>F4EAB497-D321-443B-92D7-73BBB4ED3395</key> <dict> <key>LINK</key> <string>/NetworkServices/F4EAB497-D321-443B-92D7-73BBB4ED3395</string> </dict> </dict> </dict> <key>UserDefinedName</key> <string>Automatic</string> </dict> </dict> <key>MacBookPro10,1:System</key> <dict> <key>Network</key> <dict> <key>HostNames</key> <dict> <key>LocalHostName</key> <string>* deleted *</string> </dict> </dict> <key>System</key> <dict> <key>ComputerName</key> <string>* deleted *</string> <key>ComputerNameEncoding</key> <integer>134217984</integer> <key>HostName</key> <string>* deleted *</string> </dict> </dict> <key>MacBookPro10,1:VirtualNetworkInterfaces</key> <dict> <key>Bond</key> <dict/> <key>VLAN</key> <dict/> </dict> <key>Model</key> <string>iMac7,1</string> <key>NetworkServices</key> <dict> <key>8C28268F-FA91-4565-ACD6-A14D6ABECAFD</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>PPP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>Bluetooth-Modem</string> <key>Hardware</key> <string>Modem</string> <key>SubType</key> <string>PPPSerial</string> <key>Type</key> <string>PPP</string> <key>UserDefinedName</key> <string>Bluetooth DUN</string> </dict> <key>Modem</key> <dict> <key>ConnectionPersonality</key> <string>Default Personality</string> <key>ConnectionScript</key> <string>/Library/Modem Scripts/Generic Dialup.ccl</string> <key>DataCompression</key> <integer>1</integer> <key>DeviceModel</key> <string>Dialup Device</string> <key>DeviceVendor</key> <string>Generic</string> <key>DialMode</key> <string>WaitForDialTone</string> <key>ErrorCorrection</key> <integer>1</integer> <key>PulseDial</key> <integer>0</integer> <key>Speaker</key> <integer>1</integer> </dict> <key>PPP</key> <dict> <key>ACSPEnabled</key> <integer>0</integer> <key>CommDisplayTerminalWindow</key> <integer>0</integer> <key>CommRedialCount</key> <integer>1</integer> <key>CommRedialEnabled</key> <integer>1</integer> <key>CommRedialInterval</key> <integer>5</integer> <key>CommUseTerminalScript</key> <integer>0</integer> <key>DialOnDemand</key> <integer>0</integer> <key>DisconnectOnFastUserSwitch</key> <integer>1</integer> <key>DisconnectOnIdle</key> <integer>1</integer> <key>DisconnectOnIdleTimer</key> <integer>600</integer> <key>DisconnectOnLogout</key> <integer>1</integer> <key>DisconnectOnSleep</key> <integer>1</integer> <key>IPCPCompressionVJ</key> <integer>1</integer> <key>IdleReminder</key> <integer>0</integer> <key>IdleReminderTimer</key> <integer>1800</integer> <key>LCPEchoEnabled</key> <integer>0</integer> <key>LCPEchoFailure</key> <integer>4</integer> <key>LCPEchoInterval</key> <integer>10</integer> <key>Logfile</key> <string>/var/log/ppp.log</string> <key>VerboseLogging</key> <integer>0</integer> </dict> <key>Proxies</key> <dict> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Bluetooth DUN</string> </dict> <key>BB267E49-D4A9-4462-8F97-C2000367801C</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en0</string> <key>Hardware</key> <string>Ethernet</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Ethernet</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Ethernet</string> </dict> <key>C505D6FF-C8C8-4DF3-9316-25B996E6FE5E</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>en1</string> <key>Hardware</key> <string>AirPort</string> <key>Type</key> <string>Ethernet</string> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>Wi-Fi</string> </dict> <key>D64196D8-5FA2-499B-AB80-399498F7670B</key> <dict> <key>DNS</key> <dict/> <key>IPv4</key> <dict> <key>ConfigMethod</key> <string>DHCP</string> </dict> <key>IPv6</key> <dict> <key>ConfigMethod</key> <string>Automatic</string> </dict> <key>Interface</key> <dict> <key>DeviceName</key> <string>fw0</string> <key>Hardware</key> <string>FireWire</string> <key>Type</key> <string>FireWire</string> <key>UserDefinedName</key> <string>FireWire</string> </dict> <key>Proxies</key> <dict> <key>ExceptionsList</key> <array> <string>.local</string> <string>169.254/16</string> </array> <key>FTPPassive</key> <integer>1</integer> </dict> <key>SMB</key> <dict> <key>NetBIOSName</key> <string>* deleted *</string> <key>Workgroup</key> <string>* deleted *</string> </dict> <key>UserDefinedName</key> <string>FireWire</string> </dict> </dict> <key>Sets</key> <dict> <key>10CF1CBA-0DC1-4AC1-BC28-A6CB6EE8B13F</key> <dict> <key>Network</key> <dict> <key>Global</key> <dict> <key>IPv4</key> <dict> <key>ServiceOrder</key> <array> <string>8C28268F-FA91-4565-ACD6-A14D6ABECAFD</string> <string>BB267E49-D4A9-4462-8F97-C2000367801C</string> <string>D64196D8-5FA2-499B-AB80-399498F7670B</string> <string>C505D6FF-C8C8-4DF3-9316-25B996E6FE5E</string> </array> </dict> </dict> <key>Interface</key> <dict> <key>en1</key> <dict> <key>AirPort</key> <dict> <key>JoinMode</key> <string>Automatic</string> </dict> </dict> </dict> <key>Service</key> <dict> <key>8C28268F-FA91-4565-ACD6-A14D6ABECAFD</key> <dict> <key>LINK</key> <string>/NetworkServices/8C28268F-FA91-4565-ACD6-A14D6ABECAFD</string> </dict> <key>BB267E49-D4A9-4462-8F97-C2000367801C</key> <dict> <key>LINK</key> <string>/NetworkServices/BB267E49-D4A9-4462-8F97-C2000367801C</string> </dict> <key>C505D6FF-C8C8-4DF3-9316-25B996E6FE5E</key> <dict> <key>LINK</key> <string>/NetworkServices/C505D6FF-C8C8-4DF3-9316-25B996E6FE5E</string> </dict> <key>D64196D8-5FA2-499B-AB80-399498F7670B</key> <dict> <key>LINK</key> <string>/NetworkServices/D64196D8-5FA2-499B-AB80-399498F7670B</string> </dict> </dict> </dict> <key>UserDefinedName</key> <string>Automatic</string> </dict> </dict> <key>VirtualNetworkInterfaces</key> <dict> <key>Bond</key> <dict/> <key>VLAN</key> <dict/> </dict> </dict> </plist>

This now amalgamates two of our more serious deployment issues into one now. I'll be chatting with a JAMF engineer later today to discuss this.

andrew_stenehje
Contributor

Interesting. We were having similar issues and I was noticing problems related to that pref file being modified too. It wasn't transferring the network (proxy) settings we had set in our Golden Master OS, and the name was getting wiped, so we trashed that pref file from the GM and did it via a script.

franton
Valued Contributor III

It's worth trying a rebuild and grabbing the preferences.plist at various stages just to see what modifications are being made. You might have the same issue we have.

franton
Valued Contributor III

This is very untested code, but here's what i've come up with to sort this out as part of a firstrun script.

# Set variables here that we'll be working with
MacModel=$( ioreg -l | awk '/product-name/ { split($0, line, """); printf("%s
", line[4]); }' )
PrefModel=$( defaults read Library/Preferences/SystemConfiguration/preferences.plist Model )

# Test to see if they differ and fix if they do
if [[ "$PrefModel" != "$MacModel" ]];
then
   defaults write /Library/Preferences/SystemConfiguration/preferences.plist Model $MacModel
   plutil -convert xml1 /Library/Preferences/SystemConfiguration/preferences.plist
fi