asked on
PathToDLL = "\\whateverserver\whateverpath\PRNADMIN.DLL"
portloc = "1.1.1.1"
DriverName = "HP LaserJet IIISi"
PrintQueueName = "Printer Number 1"
set wshshell = wscript.createobject("wscript.shell")
set fso = createobject("scripting.filesystemobject")
fso.copyfile PathToDLL, "c:\Program Files\PRNADMIN.DLL", True
wshshell.run "regsvr32 /s ""c:\Program Files\PRNADMIN.DLL""", , True
wscript.sleep 1000
dim oPort
dim oMaster
set oPort = CreateObject("Port.Port.1")
set oMaster = CreateObject("PrintMaster.PrintMaster.1")
portinput = "IP_" & portloc
oPort.ServerName = ""
sPortExist = False
for each oPort in oMaster.Ports("")
if oPort.PortName = portinput then
sPortExist = True
End If
next
If sPortExist = False then
set oPort = CreateObject("Port.Port.1")
oPort.PortName = portinput
oPort.PortType = 1
oPort.HostAddress = portloc
oPort.PortNumber = 9100
oPort.SNMP = false
oMaster.PortAdd oPort
if Err <> 0 then
msgbox "an error occurred"
end if
End If
dim oPrinter
set oPrinter = CreateObject("Printer.Printer.1")
oPrinter.ServerName = ""
oPrinter.DriverPath = "C:\Printer\Driver\Ricoh MP7000"
oPrinter.InfFile = "C:\Printer\Driver\Ricoh MP7000\RC67E12K.inf"
oPrinter.PrinterName = PrintQueueName
oPrinter.DriverName = DriverName
oPrinter.PortName = portinput
oMaster.PrinterAdd oPrinter
if Err <> 0 then
msgbox "an error occurred"
set oport = nothing
set oPrinter = nothing
set oMaster = nothing
set wshshell = nothing
set fso = nothing
ASKER
InstallPrinterDriver strDriverName, strDriverSource, strDriverInf
ASKER
ASKER
dim objWMIService
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
Install "Printer Number 1", "HP LaserJet IIISi", "C:\Printer\Driver\Ricoh MP7000", "C:\Printer\Driver\Ricoh MP7000\RC67E12K.inf", "1.1.1.1"
sub Install(strPrinter, strDriverName, strDriverSource, strDriverInf, strIP)
' Install the specified printer, including driver and port
InstallPrinterDriver strDriverName, str DriverSource, strDriverInf
InstallPrinterPort strIP
InstallPrinter strPrinter, strDriverName, "IP_" & strIP
end sub
sub InstallPrinter(strName, strDriverName, strPortName)
' Install printer as detailed
dim objNewPrinter
Set objNewPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = strDriverName
objPrinter.PortName = strPortName '"IP_169.254.110.160"
objPrinter.DeviceID = strName
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.Put_
end sub
sub InstallPrinterDriver(strDriverName, strDriverSource, strDriverInf)
' Installs the printer driver
dim strInstalledDriverName
' First check whether the driver is installed already
Set colInstalledDrivers = objWMIService.ExecQuery _
("Select Name from Win32_PrinterDriver)
for each objDriver in colInstalledDrivers
strInstalledDriverName=Left(objDriver.Name, Instr(1,objDriver.Name,",")-1)
if strInstalledDriverName=strDriverName then exit sub ' We have a match, so no need to install driver
next
' Driver not present, so install it
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = strDriverName '"NewPrinter Model 2900"
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.DriverPath = strDriverSource '"C:\Scripts\NewPrinter.dll"
objDriver.Infname = strDriverInf '"C:\Scripts\NewPrinter.inf"
intResult = objDriver.AddPrinterDriver(objDriver)
end sub
sub InstallPrinterPort(strIP)
' First check whether the port exists already
Set colInstalledPorts = objWMIService.ExecQuery _
("Select Name from Win32_TCPIPPrinterPort")
for each objPort in colInstalledPorts
if objPort.Name="IP_" & strIP then exit sub ' We have a result, so no need to add port
next
' Add new printer port
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_" & strIP
objNewPort.Protocol = 1
objNewPort.HostAddress = strIP
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub
ASKER
dim objWMIService
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
Install "Printer Number 1", "HP LaserJet IIISi", "C:\Printer\Driver\Ricoh MP7000", "C:\Printer\Driver\Ricoh MP7000\RC67E12K.inf", "1.1.1.1"
sub Install(strPrinter, strDriverName, strDriverSource, strDriverInf, strIP)
' Install the specified printer, including driver and port
InstallPrinterDriver strDriverName, strDriverSource, strDriverInf
InstallPrinterPort strIP
InstallPrinter strPrinter, strDriverName, "IP_" & strIP
end sub
sub InstallPrinter(strName, strDriverName, strPortName)
' Install printer as detailed
dim objNewPrinter
Set objNewPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = strDriverName
objPrinter.PortName = strPortName
objPrinter.DeviceID = strName
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.Put_
end sub
sub InstallPrinterDriver(strDriverName, strDriverSource, strDriverInf)
' Installs the printer driver
dim strInstalledDriverName
' First check whether the driver is installed already
Set colInstalledDrivers = objWMIService.ExecQuery _
("Select Name from Win32_PrinterDriver)
for each objDriver in colInstalledDrivers
strInstalledDriverName=Left(objDriver.Name, Instr(1,objDriver.Name,",")-1)
if strInstalledDriverName=strDriverName then exit sub ' We have a match, so no need to install driver
next
' Driver not present, so install it
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = strDriverName
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.DriverPath = strDriverSource
objDriver.Infname = strDriverInf
intResult = objDriver.AddPrinterDriver(objDriver)
end sub
sub InstallPrinterPort(strIP)
' First check whether the port exists already
Set colInstalledPorts = objWMIService.ExecQuery _
("Select Name from Win32_TCPIPPrinterPort")
for each objPort in colInstalledPorts
if objPort.Name="IP_" & strIP then exit sub ' We have a result, so no need to add port
next
' Add new printer port
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_" & strIP
objNewPort.Protocol = 1
objNewPort.HostAddress = strIP
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub
ASKER
dim objWMIService
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
Install "Printer Number 1", "HP LaserJet IIISi", "C:\Printer\Driver\Ricoh MP7000", "C:\Printer\Driver\Ricoh MP7000\RC67E12K.inf", "1.1.1.1"
sub Install(strPrinter, strDriverName, strDriverSource, strDriverInf, strIP)
' Install the specified printer, including driver and port
InstallPrinterDriver strDriverName, strDriverSource, strDriverInf
InstallPrinterPort strIP
InstallPrinter strPrinter, strDriverName, "IP_" & strIP
end sub
sub InstallPrinter(strName, strDriverName, strPortName)
' Install printer as detailed
dim objNewPrinter
Set objNewPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = strDriverName
objPrinter.PortName = strPortName
objPrinter.DeviceID = strName
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.Put_
end sub
sub InstallPrinterDriver(strDriverName, strDriverSource, strDriverInf)
' Installs the printer driver
dim strInstalledDriverName
' First check whether the driver is installed already
Set colInstalledDrivers = objWMIService.ExecQuery _
("Select Name from Win32_PrinterDriver")
for each objDriver in colInstalledDrivers
strInstalledDriverName=Left(objDriver.Name, Instr(1,objDriver.Name,",")-1)
if strInstalledDriverName=strDriverName then exit sub ' We have a match, so no need to install driver
next
' Driver not present, so install it
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = strDriverName
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.DriverPath = strDriverSource
objDriver.Infname = strDriverInf
intResult = objDriver.AddPrinterDriver(objDriver)
end sub
sub InstallPrinterPort(strIP)
' First check whether the port exists already
Set colInstalledPorts = objWMIService.ExecQuery _
("Select Name from Win32_TCPIPPrinterPort")
for each objPort in colInstalledPorts
if objPort.Name="IP_" & strIP then exit sub ' We have a result, so no need to add port
next
' Add new printer port
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_" & strIP
objNewPort.Protocol = 1
objNewPort.HostAddress = strIP
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub
ASKER
dim objWMIService
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
Install "Printer Number 1", "HP LaserJet IIISi", "C:\Printer\Driver\Ricoh MP7000", "C:\Printer\Driver\Ricoh MP7000\RC67E12K.inf", "1.1.1.1"
sub Install(strPrinter, strDriverName, strDriverSource, strDriverInf, strIP)
' Install the specified printer, including driver and port
InstallPrinterDriver strDriverName, strDriverSource, strDriverInf
InstallPrinterPort strIP
InstallPrinter strPrinter, strDriverName, "IP_" & strIP
end sub
sub InstallPrinter(strName, strDriverName, strPortName)
' Install printer as detailed
dim objNewPrinter
Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = strDriverName
objPrinter.PortName = strPortName
objPrinter.DeviceID = strName
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.Put_
end sub
sub InstallPrinterDriver(strDriverName, strDriverSource, strDriverInf)
' Installs the printer driver
dim strInstalledDriverName
' First check whether the driver is installed already
Set colInstalledDrivers = objWMIService.ExecQuery _
("Select Name from Win32_PrinterDriver")
for each objDriver in colInstalledDrivers
strInstalledDriverName=Left(objDriver.Name, Instr(1,objDriver.Name,",")-1)
if strInstalledDriverName=strDriverName then exit sub ' We have a match, so no need to install driver
next
' Driver not present, so install it
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = strDriverName
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.DriverPath = strDriverSource
objDriver.Infname = strDriverInf
intResult = objDriver.AddPrinterDriver(objDriver)
end sub
sub InstallPrinterPort(strIP)
' First check whether the port exists already
Set colInstalledPorts = objWMIService.ExecQuery _
("Select Name from Win32_TCPIPPrinterPort")
for each objPort in colInstalledPorts
if objPort.Name="IP_" & strIP then exit sub ' We have a result, so no need to add port
next
' Add new printer port
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_" & strIP
objNewPort.Protocol = 1
objNewPort.HostAddress = strIP
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub
ASKER
dim objWMIService
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
if Install("Printer Number 1", "HP LaserJet IIISi", "C:\Printer\Driver\Ricoh MP7000", "C:\Printer\Driver\Ricoh MP7000\RC67E12K.inf", "1.1.1.1") then
MsgBox "Printer installed successfully."
end if
function Install(strPrinter, strDriverName, strDriverSource, strDriverInf, strIP)
' Install the specified printer, including driver and port
InstallPrinterDriver strDriverName, strDriverSource, strDriverInf
InstallPrinterPort strIP
Install=InstallPrinter(strPrinter, strDriverName, "IP_" & strIP)
end function
function InstallPrinter(strName, strDriverName, strPortName)
' Install printer as detailed
on error resume next
InstallPrinter=true
dim objPrinter : Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = strDriverName
objPrinter.PortName = strPortName
objPrinter.DeviceID = strName
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.Put_
if Err.Number<>0 then InstallPrinter=false
end function
sub InstallPrinterDriver(strDriverName, strDriverSource, strDriverInf)
' Installs the printer driver
dim strInstalledDriverName
' First check whether the driver is installed already
Set colInstalledDrivers = objWMIService.ExecQuery _
("Select Name from Win32_PrinterDriver")
for each objDriver in colInstalledDrivers
strInstalledDriverName=Left(objDriver.Name, Instr(1,objDriver.Name,",")-1)
if strInstalledDriverName=strDriverName then exit sub ' We have a match, so no need to install driver
next
' Driver not present, so install it
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = strDriverName
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.DriverPath = strDriverSource
objDriver.Infname = strDriverInf
intResult = objDriver.AddPrinterDriver(objDriver)
end sub
sub InstallPrinterPort(strIP)
' First check whether the port exists already
Set colInstalledPorts = objWMIService.ExecQuery _
("Select Name from Win32_TCPIPPrinterPort")
for each objPort in colInstalledPorts
if objPort.Name="IP_" & strIP then exit sub ' We have a result, so no need to add port
next
' Add new printer port
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_" & strIP
objNewPort.Protocol = 1
objNewPort.HostAddress = strIP
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub
ASKER
dim objWMIService
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
if Install("Printer Number 1", "HP LaserJet IIISi", "C:\Printer\Driver\Ricoh MP7000", "C:\Printer\Driver\Ricoh MP7000\RC67E12K.inf", "1.1.1.1") then
MsgBox "Printer installed successfully."
end if
function Install(strPrinter, strDriverName, strDriverSource, strDriverInf, strIP)
' Install the specified printer, including driver and port
InstallPrinterDriver strDriverName, strDriverSource, strDriverInf
InstallPrinterPort strIP
Install=InstallPrinter(strPrinter, strDriverName, "IP_" & strIP)
end function
function InstallPrinter(strName, strDriverName, strPortName)
' Install printer as detailed
on error resume next
InstallPrinter=true
dim objPrinter : Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = strDriverName
objPrinter.PortName = strPortName
objPrinter.DeviceID = strName
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.Put_
if Err.Number<>0 then InstallPrinter=false
end function
sub InstallPrinterDriver(strDriverName, strDriverSource, strDriverInf)
' Installs the printer driver
dim strInstalledDriverName
' First check whether the driver is installed already
Set colInstalledDrivers = objWMIService.ExecQuery _
("Select Name from Win32_PrinterDriver")
for each objDriver in colInstalledDrivers
strInstalledDriverName=Left(objDriver.Name, Instr(1,objDriver.Name,",")-1)
if strInstalledDriverName=strDriverName then exit sub ' We have a match, so no need to install driver
next
' Driver not present, so install it
Set objDriver = objWMIService.Get("Win32_PrinterDriver").SpawnInstance_
objDriver.Name = strDriverName
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.DriverPath = strDriverSource
objDriver.Infname = strDriverInf
objDriver.Put_
end sub
sub InstallPrinterPort(strIP)
' First check whether the port exists already
Set colInstalledPorts = objWMIService.ExecQuery _
("Select Name from Win32_TCPIPPrinterPort")
for each objPort in colInstalledPorts
if objPort.Name="IP_" & strIP then exit sub ' We have a result, so no need to add port
next
' Add new printer port
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_" & strIP
objNewPort.Protocol = 1
objNewPort.HostAddress = strIP
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub
dim objWMIService
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True
Install "Printer Number 1", "HP LaserJet IIISi", "C:\Printer\Driver\Ricoh MP7000", "C:\Printer\Driver\Ricoh MP7000\RC67E12K.inf", "1.1.1.1"
sub Install(strPrinter, strDriverName, strDriverSource, strDriverInf, strIP)
' Install the specified printer, including driver and port
InstallPrinterDriver strDriverName, strDriverSource, strDriverInf
InstallPrinterPort strIP
InstallPrinter strPrinter, strDriverName, "IP_" & strIP
end sub
sub InstallPrinter(strName, strDriverName, strPortName)
' Install printer as detailed
dim objPrinter : Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_
objPrinter.DriverName = strDriverName
objPrinter.PortName = strPortName '"IP_169.254.110.160"
objPrinter.DeviceID = strName
objPrinter.Location = ""
objPrinter.Network = True
objPrinter.Shared = false
objPrinter.Put_
end sub
sub InstallPrinterDriver(strDriverName, strDriverSource, strDriverInf)
' Installs the printer driver
dim colInstalledDrivers, objDriver, strInstalledDriverName
' First check whether the driver is installed already
Set colInstalledDrivers = objWMIService.ExecQuery("Select Name from Win32_PrinterDriver")
for each objDriver in colInstalledDrivers
strInstalledDriverName=Left(objDriver.Name, Instr(1,objDriver.Name,",")-1)
if strInstalledDriverName=strDriverName then exit sub ' We have a match, so no need to install driver
next
' Driver not present, so install it
Set objDriver = objWMIService.Get("Win32_PrinterDriver")
objDriver.Name = strDriverName
objDriver.SupportedPlatform = "Windows NT x86"
objDriver.Version = "3"
objDriver.DriverPath = strDriverSource
objDriver.Infname = strDriverInf
objDriver.AddPrinterDriver(objDriver)
end sub
sub InstallPrinterPort(strIP)
' First check whether the port exists already
Set colInstalledPorts = objWMIService.ExecQuery _
("Select Name from Win32_TCPIPPrinterPort")
for each objPort in colInstalledPorts
if objPort.Name="IP_" & strIP then exit sub ' We have a result, so no need to add port
next
' Add new printer port
Set objNewPort = objWMIService.Get _
("Win32_TCPIPPrinterPort").SpawnInstance_
objNewPort.Name = "IP_" & strIP
objNewPort.Protocol = 1
objNewPort.HostAddress = strIP
objNewPort.PortNumber = "9100"
objNewPort.SNMPEnabled = False
objNewPort.Put_
end sub
ASKER
ASKER
ASKER
ASKER
ASKER
VBScript (Visual Basic Scripting Edition) is an interpreted scripting language developed by Microsoft that is modeled on Visual Basic, but with some important differences. VBScript is commonly used for automating administrative and other tasks in Windows operating systems (by means of the Windows Script Host) and for server-side scripting in ASP web applications. It is also used for client-side scripting in Internet Explorer, specifically in intranet web applications.
TRUSTED BY
I have adapted it with your details from the script above.
Open in new window