【问题标题】:Windows - VBScript - Determine IP address of computer on networkWindows - VBScript - 确定网络上计算机的 IP 地址
【发布时间】:2009-02-06 17:30:32
【问题描述】:

我编写了一些 VBScript 来自动执行我通过网络在计算机上执行的任务。这些对于大多数任务都非常有用,但是在我们的网络中,我们遇到了 DNS 中的 IP 地址始终正确的问题。这主要发生在笔记本电脑上,我们为无线和有线网络上的机器设置了不同的 IP 范围。

例如,一台机器可能会在早上以有线方式启动并获得一个 IP 地址:10.10.10.1

当它切换到无线时,它将获得一个不同子网中的地址:10.11.10.1

当您尝试连接到该计算机时,即使计算机现在有一个新 IP 地址,它仍会返回旧 IP 地址 (10.10.10.1)。

我发现我仍然可以通过 \computer name\c$ 连接到该计算机的 C$ 共享,即使该计算机没有 ping。显然还有其他类型的地址解析正在进行,我的问题是如何利用它来让我的 VBScripts 连接到 WMI?

谢谢!

【问题讨论】:

    标签: scripting vbscript windows-xp ip-address


    【解决方案1】:

    如果 DNS 没有正确的地址,那么它可能会被 NetBios 解析。您需要做的是使用 WINS 服务器或通过广播到网络来解析计算机名称。根据您的网络环境,您可以使用其中一个或两个选项。

    Microsoft 有一个名为 NBLookup 的工具,它至少应该能够从 WINS 中查找名称。

    您可以调用 NBLookup 并解析结果。我不记得在 VBScript 中原生的 NetBios 解析的另一种方法,但我最近看起来不是很努力。

    【讨论】:

    • 这正是我想要的。我能够使用该实用程序并按照您的建议解析结果,以获取机器的 IP 地址。谢谢!
    【解决方案2】:

    您的问题是名称解析。 Windows 使用 2 种类型的名称解析:DNS 和 NetBIOS。

    DNS 将解析 .comcast.net 或 www.google.com 之类的名称 NetBIOS 可以解析 15 个字符或更少的名称,就像您的计算机名称一样。

    当您的计算机查找一个不知道如何转换为 IP 地址的名称时,它会转到 DNS 服务器和/或使用 NetBIOS 名称解析。查找名称后,它会将其保存在缓存中一段时间​​(通常大约一个小时),然后再次查找。

    您可以通过以下方式使用命令行查看计算机为每种名称解析类型缓存的名称列表:

    DNS
    ipconfig -displaydns
    NetBIOS
    nbtstat -c

    这些命令中的每一个还允许您清除该缓存,这将迫使您的系统重新发现名称指向的 IP 地址。以下是这些命令:

    DNS
    ipconfig -flushdns
    NetBIOS
    nbtstat -R

    在这些命令之间,您应该能够确定哪种类型的名称解析是罪魁祸首,并通过刷新该缓存来解决它。

    【讨论】:

      【解决方案3】:

      根据我自己的经验,我发现Microsoft TechNet ScriptCenter 几乎可以提供与 VBScript 相关的所有内容。当我想深入研究一个我以前没有探索过的 VBScript 新领域时,这通常是我开始的地方。

      Microsoft TechNet 网站上的WMI FAQ 具有指向 ScripCenter 的链接以及指向许多其他有用站点的链接,用于学习如何编写 WMI 脚本。我建议您找到一个已经完成您想要的脚本,因为肯定有人已经编写了您需要的内容。

      文章Automating TCP/IP Networking on Clients 可能包含您开始解决此问题所需的内容。

      【讨论】:

      • 这不是我想要的。目标是能够确定一台机器的 IP 地址,远程忽略工作站的 DNS 值。我过去曾在脚本中心寻找解决方案,但没有成功。
      猜你喜欢
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 2011-06-12
      • 2012-01-28
      • 1970-01-01
      • 2012-10-28
      • 2015-05-16
      相关资源
      最近更新 更多