我希望有人能帮忙,我的脑子已经炸了!在 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您可能会发现它对将来的参考很有帮助。