从Server \ PrinterName获取打印机IP地址

时间:2012-07-03 15:43:38

标签: .net networking printing ip

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

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

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

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

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

我在.NET中工作,所以通过它的方法将是完美的,但如果有必要,我可能会从命令行解析一些东西。 假设它有可能吗?

由于


为清晰起见而编辑

2 个答案:

答案 0 :(得分:0)

从后来的命令行参数用作nbtstat“使用NBT显示协议统计信息和当前TCP / IP连接(TCP / IP上的NetBIOS)”和-A开关

nbtstat -A 192.168.0.1

假设您的服务器ipname是192.168.0.1

从servername获取ip将使用ping:)

ping servername

答案 1 :(得分:0)

派对迟到了,但是对命令行脚本感兴趣的人。这列出了打印机的队列名称和端口值。我认为真正的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