Question

I am chasing a strange error at a customer site and was wondering if it is possible that Environment.MachineName could return a zero length string. The docs say this is read from the registry but doesn't specify where. I can't imagine that a machine cannot have a netbios name but just wanted to ask.

EDIT

After some investigation, it appears that this was not returning a zero length string, but I was just interested if it is feasible.

Was it helpful?

Solution

I don't know if it can be an empty string, sorry, but concerning the registry you might want to check the following (and subkeys):

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName

On my system it is actually looking at HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName\ComputerName:

enter image description here

BTW, as you can see I tried to figure this out using SysInternals Process Monitor, but initially failed. Then i figured, that the above keys (and some related ones) are suppressed by default. Just in case you try the same be aware of that.

You might also check the value of the %COMPUTERNAME%. Although I have no reference or direct evidence, I would assume that it gets its value from the same source.

I know this is not a real answer to your question, but it wouldn't fit in a comment either.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top