从FQDN获取域名?

时间:2011-07-06 17:56:04

标签: c# asp.net netbios fqdn

我正在尝试从完全限定的域名中获取NetBios名称...

用户输入FQDN并转换为

的NetBios名称

例如xyz.test.com(这只是一个例子,FQDN可以是任何东西)

到它的NetBios(我不确定它是否被称为NetBios,请随时纠正我)名称'xyz'。

有没有办法做到这一点.. ??

感谢

  

理解部分??

我对条款有点困惑......

我们的客户拥有不同的FQDN,例如 xyz.test.com int.hdsh.local 等等。

我需要从这些域名中获取域名,以便我可以形成域名\用户名

所以上面的示例看起来像 xyz \ username hdsh \ username ..

我们可以看到第二个FQDN第二部分是域名。

所以我需要帮助才能弄清楚哪个是FQDN中的域。

2 个答案:

答案 0 :(得分:3)

您想要NetBIOS名称还是FQDN的主机名部分?

如果只是你可以做的主机名

hostname=fqdn.Split('.')[0]

- 编辑

您是否希望获取当前计算机的域名,因为您可以使用

System.Environment.GetEnvironmentVariable("USERDOMAIN")

当然,只有当您运行的是非域用户(例如服务)时,如果您以登录用户身份运行才能使用:

System.DirectoryServices.ActiveDirectory.Domain.GetComputerDomain().Name

您需要从GAC引用DirectoryServices.dll。这将返回AD域(它是一个FQDN),因此您必须使用@语法而不是\

例如。如果它作为home.lan出现,你会使用username@home.lan

答案 1 :(得分:0)

FQDN是可以使用DNS而不是NetBIOS查找的计算机的域名。如果你使用现代版本的Windows我认为你可以使用另一种形式:username @ FQDN来形成完整的用户名。