机名称仅用于本地网络和本地广告网络/在那森林的概念。一旦您在互联网机器名称上暴露您的网站不再有意义,而是您获得DNS名称。
因此,例如,在我的工作网络上,我的笔记本电脑名称解析为bdorrans01.redmond.contoso.com。但是,如果我从家里浏览到一个网站,我现在的IP地址解析为c-98-203-143-14.hsd1.wa.comcast.net。
您正在使用FQDN并在第一个句点/句号之后放下所有内容。这可以在AD环境(有点)中工作,并且您的代码在内部会看到bdorrans01,但它会在外部看到c-98-203-143-14。
即使在多森林AD内部,如果您的网站托管在另一个森林中,例如,如果您的网站居住在example.europe.contoso.com上,您的代码也将获得机器名称bdorrans01,但我的机器不在同一个林中,如果你试图ping它,或者映射到网络驱动器,它将不会被找到,因为你会在europe.contoso.com中寻找bdorrans01,而不是redmond.contoso.com实际上是在哪里。
此外,您的代码假设解析IP地址将生成完全限定的域名,在很多情况下这不是真的,您可以只返回一个IP地址,因此您可能会看到1.2.3.4和您的代码会给出机器名称1.更糟糕的是,它不会对IPv6地址做任何事情,因为它们使用冒号分隔,2001:db8:85a3:8d3:1319:8a2e:370:7348
因此,您的前提是不正确的 - 你需要找到一种不同的方式来做你想做的事情。无论如何,你为什么认为你需要机器名?
这是一样的,在本地作品,但在服务器返回这一行代码:0x57364794.boanxx22.dynamic.dsl ..... – Shaahin 2011-05-28 10:51:22
@ Ahmed它不工作 – 2014-04-11 13:13:00
主机名称不是客户机名称 – 2017-07-02 05:16:20