如何从完全限定域名(FQDN)中获取域名?

5
我正在尝试从完全限定域名中获取NetBios名称...
用户输入FQDN,我将其转换为NetBios名称。
例如:xyz.test.com(这仅是一个示例,FQDN可以是任何内容),应该对应NetBios名称“xyz”。
有没有一种方式可以做到这一点...??
谢谢
了解这个问题吗?
这些术语让我有点困惑...
我们有不同FQDN的客户端,例如:xyz.test.com或int.hdsh.local等。
我需要从中获取域名,以便我可以形成domain\username。
因此,以上示例看起来像xyz\username和hdsh\username。
正如我们所看到的,第二个FQDN的第二部分是域。
所以我需要帮助确定哪个是FQDN中的域。
2个回答

4

您是想要获取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。

0

FQDN 是计算机的域名,可以使用 DNS 而不是 NetBIOS 进行查找。如果您使用的是较新版本的 Windows,则可以使用另一种形式:用户名@FQDN 来形成完整的用户名。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接