On my work network, all the PCs get a local machine01.abc.com-style DNS name. Is there a way to do that on OS X? In a way that machines without Bonjour can see it? (The .local domain name won't work for this, right?)
I'm looking into at Directory Utility, scutil, and the advanced Network prefs, but so far no luck.
2 Answers
You need to create an 'A' record containing your Mac's IP address on the DNS server for abc.com, or at least the non-canonical DNS server serving your local network. It can't be done on the Mac itself - that's what's so clever about Bonjour hostnames; it's a multicast DNS system, which allows peers to set their own hostname.
How do the Windows machines get their names? Did you manually configure your DNS server with a bunch of machineXX.abc.com A records (in DNS terminology, an "A" record is an Address record which maps a host name to an IPv4 address), or do they register themselves with a WINS server (perhaps one running on your local Windows 200x Server that's acting as a Windows or Active Directory domain controller)?
If you did the DNS server thing, then go to your DNS server and add an A record for your Mac.
If your name registrations and name lookups are happening via a WINS server, you can go to "System Preferences > Network > Ethernet > Advanced... > WINS" to configure your Mac to register a name with the same WINS servers that your PCs use.
If that doesn't work, then you might be using legacy Windows "NetBIOS Name Service", which is a local LAN broadcast-based name service protocol. Try going to "System Preferences > Sharing" and enabling (checking) File Sharing, then from there go to "Options..." and enable "Share files and folders using SMB (Windows)". That will launch Mac OS X's built-in version of Samba's smbd(8) and nmbd(8) daemons, which should allow your Mac to advertise its name via NetBIOS Name Service.