4

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

用户输入 FQDN,我将其转换为 NetBios 名称

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

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

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

谢谢

理解部分??

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

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

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

所以上面的例子看起来像xyz\usernamehdsh\username ..

正如我们所见,第二个 FQDN 有第二部分作为域。

所以我需要帮助确定哪个是 FQDN 中的域。

4

2 回答 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

于 2011-07-06T18:00:28.243 回答
0

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

于 2011-07-06T19:02:21.613 回答