You are here:
ActiveXperts.com > ActiveXperts Network Monitor > WindowsManagement > Scripts > Printing > Printer Ports and Drivers
Quicklinks
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPorts = objWMIService.ExecQuery _
("Select * from Win32_TCPIPPrinterPort Where Name = 'IP_169.254.110.14'")
For Each objPort in colInstalledPorts
objPort.Delete
Next
Set objDictionary = CreateObject("Scripting.Dictionary")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter in colPrinters
objDictionary.Add objPrinter.PortName, objPrinter.PortName
Next
Set colPorts = objWMIService.ExecQuery _
("Select * from Win32_TCPIPPrinterPort")
For Each objPort in colPorts
If objDictionary.Exists(objPort.Name) Then
Else
ObjPort.Delete_
End If
Next
Set objDictionary = CreateObject("Scripting.Dictionary")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter in colPrinters
objDictionary.Add objPrinter.PortName, objPrinter.PortName
Next
Set colPorts = objWMIService.ExecQuery _
("Select * from Win32_TCPIPPrinterPort")
For Each objPort in colPorts
If objDictionary.Exists(objPort.Name) Then
strUsedPorts = strUsedPorts & _
objDictionary.Item(objPort.Name) & VbCrLf
Else
strFreePorts = strFreePorts & objPort.Name & vbCrLf
End If
Next
Wscript.Echo "The following ports are in use: " & VbCrLf & strUsedPorts
Wscript.Echo "The following ports are available: " & VbCrLf & strFreePorts
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_PrinterDriver")
For each objPrinter in colInstalledPrinters
Wscript.Echo "Config File: " & objPrinter.ConfigFile
Wscript.Echo "Data File: " & objPrinter.DataFile
Wscript.Echo "Description: " & objPrinter.Description
Wscript.Echo "Driver Path: " & objPrinter.DriverPath
Wscript.Echo "File Path: " & objPrinter.FilePath
Wscript.Echo "Help File: " & objPrinter.HelpFile
Wscript.Echo "INF Name: " & objPrinter.InfName
Wscript.Echo "Monitor Name: " & objPrinter.MonitorName
Wscript.Echo "Name: " & objPrinter.Name
Wscript.Echo "OEMUrl: " & objPrinter.OEMUrl
Wscript.Echo "Supported Platform: " & objPrinter.SupportedPlatform
Wscript.Echo "Version: " & objPrinter.Version
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPorts = objWMIService.ExecQuery _
("Select * from Win32_TCPIPPrinterPort")
For Each objPort in colPorts
Wscript.Echo "Description: " & objPort.Description
Wscript.Echo "Host Address: " & objPort.HostAddress
Wscript.Echo "Name: " & objPort.Name
Wscript.Echo "Port Number: " & objPort.PortNumber
Wscript.Echo "Protocol: " & objPort.Protocol
Wscript.Echo "SNMP Community: " & objPort.SNMPCommunity
Wscript.Echo "SNMP Dev Index: " & objPort.SnMPDevIndex
Wscript.Echo "SNMP Enabled: " & objPort.SNMPEnabled
Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = "NewPrinter Model 2900"
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriverPath = "C:\Scripts\NewPrinter.dll"
objInfname = "C:\Scripts\NewPrinter.inf"
intResult = objDriver.AddPrinterDriver(objDriver)
Wscript.Echo intResult
Set objWMIService = GetObject("winmgmts:")
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = "Apple LaserWriter 8500"
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
errResult = objDriver.AddPrinterDriver(objDriver)
Set objWMIService = GetObject("winmgmts:")
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_169.254.110.14"
objNewPort.Protocol = 1
objNewPort.HostAddress = "169.254.110.14"
objNewPort.PortNumber = "9999"
objNewPort.SNMPEnabled = False
objNewPort.Put_