【问题标题】:get domain name from FQDN?从 FQDN 获取域名?
【发布时间】:2011-07-06 17:56:04
【问题描述】:

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

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

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

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

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

谢谢

理解部分??

我对这些术语有点困惑......

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

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

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

我们可以看到第二个 FQDN 有第二部分作为域。

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

【问题讨论】:

    标签: c# asp.net netbios fqdn


    【解决方案1】:

    您想要 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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-19
        • 2023-03-20
        • 1970-01-01
        • 2011-06-21
        • 1970-01-01
        • 2021-04-20
        • 1970-01-01
        • 2014-07-07
        相关资源
        最近更新 更多