Mac OSX workstation record name different than changed Machine Name

  • 3540457
  • 20-Sep-2007
  • 16-Mar-2012

Environment

Novell ZENworks Asset Management 7 - ZAM7
Mac OSX workstation record Machine name as displayed within the Manger or Web console is different than the physical changed Machine name.

Situation

Mac OSX workstation record name different than changed Machine Name

Resolution

OS X machines can have 2 different machine names.

The ZAM collector only get's one of them, so if your OS X machine is configured with 2 different machine names, what you see in your inventory may not match what you think of as the computer's name.

Details:

1. Under OS X, Apple has provided for 2 machine names. Users can change these independently, so that one computer can have 2 different machine names. For purposes of this discussion, let's call these name and name.local. This is rather different from a unix and windows point of view, where a machine name is intended to be a consistent unique identifier for a computer.

2. The tool that we use to gather inventory information under OS X is the command line version of System Profiler, system_profiler. system_profiler does not reliably return any machine name information. When it does provide machine name data, system_profiler appears to return the name machine name.

3. When the ZAM client connects to a collection server, it passes some connection information to the collection server. This data is used to reconcile and differentiate connecting clients. One of the pieces of data in the connection information is the machine name. The OS X client, like the unix client, uses the standard C runtime library call gethostname to obtain the machine name. Under OS X, gethostname appears to get the name.local name.

3. Because of (2), when we scan an OS X machine, we use the standard C runtime library call gethostname to get the machine name, and add that information to the system_profiler output. It should be noted that it's important that what we find from a scan match what is found by the client for its connection information, or else the connect machine name won't match the inventory machine name and this could lead to reconciliation problems. Since the client gets name.local for its connection information, we also want to get name.local when we scan the OS X machine.

4. It appears that the name.local name is the name that matches what one would normally think of as the machine's network name. In a Terminal window, the shell command hostname returns the name.local name. And when you browse the network from Windows, it's the name.local name that the OS X machine shows up under. (i.e. the name.local name is the netbios name of the machine in a windows network environment.


Status

Reported to Engineering

Additional Information

Formerly known as TID# 10100610 NOVL105315