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

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

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

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

有任何想法吗?

答案1

您可以使用以下脚本。将其保存在“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

答案2

我终于破解了它。提供商无法查询 W2K 服务器上的端口,但经过所有这些,解决方案很简单。我只是导出了当前配置上端口的注册表项,并在 Excel 中清理了它。瞧!使用从服务器上创建的打印队列生成的报告,我合并了数据,现在可以编制 W2K 打印服务器上带有队列的设备的完整清单。

结果。

答案3

以下是链接用于打印机的 PowerShell您可能会发现它对将来的参考很有帮助。

相关内容