【问题标题】:Getting printer IP Address from Server\PrinterName从 Server\PrinterName 获取打印机 IP 地址
【发布时间】:2012-07-03 15:43:38
【问题描述】:

我在网络上安装了一台打印机,我正在寻找一种将 IP 地址解析为名称的方法,反之亦然。

首先将打印机插入网络插座。它有自己的名称和静态 IP 地址。
像这样,我可以通过打开与 IP 地址的连接并向其发送数据流 (ZPL) 来向其发送文本。

其次 - 打印机安装在打印服务器上。
\\PRINT_SERVER\Windows_Printer_Name
检查属性,我可以在“端口”和“配置端口”下找到它的 IP 地址。 (而不是像 COM1 或 LPT1 这样的本地端口,它使用 TCP/IP 的“端口”,它是一个 IP 地址)

我需要一种从 Windows 路径中自动查找此 IP 地址的方法。

好吧,我实际上需要做的是反过来工作。从 IP 地址中,找到服务器/名称 - 但我可以看到这并不容易..

我在 .NET 中工作,因此通过该方法的方法将是完美的,但如果有必要,我可能会从命令行解析某些内容。 假设有可能?

谢谢


为清楚起见进行了编辑

【问题讨论】:

    标签: .net networking printing ip


    【解决方案1】:

    以前的命令行参数曾经是 nbtstat,它“使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计信息和当前 TCP/IP 连接”和 -A 开关

    nbtstat -A 192.168.0.1
    

    假设您的服务器 ipname 是 192.168.0.1

    从服务器名获取 ip 将使用 ping :)

    ping servername
    

    【讨论】:

    • 但是我的打印机安装在服务器上作为 \\server\a_name_the_admin_chose - 不是网络上的设备名称 - 打印机的 IP 不是打印服务器的 IP。如果我删除 Windows 驱动程序,它仍然是有效的网络身份
    【解决方案2】:

    聚会迟到了,但有人对命令行脚本感兴趣。这列出了打印机的队列名称和端口值。我觉得真实的IP地址不是那么容易解析的,端口值并不总是IP地址,有时会有1.2.3.4_IP后缀或IP_前缀字符串。

    ' c:> cscript -nologo scriptname.vbs
    
    Option Explicit
    
    Dim StdOut: Set StdOut = WScript.StdOut
    Dim owshNetwork: Set owshNetwork = CreateObject("WScript.Network")
    Dim oPrinters
    Dim idx
    
    Set oPrinters = owshNetwork.EnumPrinterConnections
    
    for idx=0 to oPrinters.count/2-1
        StdOut.WriteLine "Name=" & oPrinters.Item(idx*2+1) & ", Port=" & oPrinters.Item(idx*2)
    next 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 2020-05-19
      • 2011-10-16
      相关资源
      最近更新 更多