在W2K打印服务器上获取端口名称和相关的IP地址

我希望有人能帮忙,我的脑子被炸了! 在W2K3中,我可以使用prnmngr.vbs并从打印服务器获取所需的一切,列出已安装的队列,端口名称,驱动程序详细信息,IP地址等。

但是,在Server 2000上,脚本不起作用,我找不到一种方法来获取已安装的TCP端口和关联的IP地址列表。

有任何想法吗?

你可以使用下面的脚本。 将其保存在“printerlist.vbs”下,并使用cscript.exe printerlist.vbs调用它(这样你就可以在命令行控制台上得到输出)。

 strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("SELECT * FROM Win32_Printer") Set WshNetwork = WScript.CreateObject("WScript.Network") WScript.Echo("This Computer's Name = " & WshNetwork.ComputerName) For Each objPrinter in colInstalledPrinters If (objPrinter.Attributes AND 4) = 4 then WScript.Echo("*****> Default printer -- Start") Else WScript.Echo("---") End If WScript.Echo("Name: " & objPrinter.Name) WScript.Echo("Share name: " & objPrinter.ShareName) WScript.Echo("Driver name: " & objPrinter.DriverName) WScript.Echo("Caption: " & objPrinter.Caption) WScript.Echo("Port: " & objPrinter.PortName) WScript.Echo("Location: " & objPrinter.Location) WScript.Echo("Description: " & objPrinter.Description) WScript.Echo("Server: " & objPrinter.ServerName) WScript.Echo("System name: " & objPrinter.SystemName) WScript.Echo("Print processor: " & objPrinter.PrintProcessor) If (objPrinter.Attributes AND 4) = 4 then WScript.Echo("*****> Default printer -- End") Else WScript.Echo("---") End If Next 

我终于破解了它。 提供程序不可用于W2K服务器上的端口,但解决scheme毕竟是简单的。 我只是导出当前configuration的端口的registry项,并在Excel中清理它。 瞧! 使用从服务器上创build的打印队列中生成的报告,我合并了数据,现在可以在我的W2K打印服务器上编译具有队列的设备的完整清单。

结果。

这里是打印机的PowerShell链接,您可能会发现有用的将来参考。