如何使用C#在VM中获取本地计算机名?
如何获取运行我的虚拟机的本地主机名 例如: 本地计算机名称-->ABC如何使用C#在VM中获取本地计算机名?,c#,.net,virtual-machine,C#,.net,Virtual Machine,如何获取运行我的虚拟机的本地主机名 例如: 本地计算机名称-->ABC 虚拟机计算机名称-->XYZ 如果我试图在VM中获取本地机器名,我将获取VM机器名,即:XYZ。但这里我需要ABC。 我怎样才能得到它 我尝试了System.Environment.MachineName和Dns.GetHostName()也尝试了。是否要使用System.Environment.MachineName获取VM的主机名?不,你根本不能那样做 MachineName仅绑定到正在运行的计算机名(获取NETBIOS
虚拟机计算机名称-->XYZ 如果我试图在VM中获取本地机器名,我将获取VM机器名,即:XYZ。但这里我需要ABC。 我怎样才能得到它
我尝试了
System.Environment.MachineName
和Dns.GetHostName()
也尝试了。是否要使用System.Environment.MachineName获取VM的主机名?不,你根本不能那样做
MachineName仅绑定到正在运行的计算机名(获取NETBIOS名称),在您的情况下是正在运行的VM名称,而不是VM主机名
参考:
更新1:
如果仍要获取VM主机名,请从VM中检查此注册表项的注册表值:
HKLM\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters
在.NET中,我们可以获得此值。您可以在Microsoft.Win32.Registry类中使用API。您想从VM中获取主机名吗?您正在使用的虚拟机监控程序是什么?您可以搜索它是否为VM提供了某些代理,例如VMware工具,以及它是否以某种方式公开了主机名。有参考资料吗?TIAHe不需要VM的主机名。他想要运行VM的机器的名称。