如何使用C#在VM中获取本地计算机名?

如何使用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

如何获取运行我的虚拟机的本地主机名

例如:

本地计算机名称-->ABC
虚拟机计算机名称-->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的机器的名称。