Recentemente estive preocupado em instalar uma impressora em vários equipamentos, de uma empresa e seria um tanto cansativo instalar máquina por máquina (manualmente) em mais de 50 micros a mesma impressora.
Então eu procurei na net um script que me ajudasse a fazer isso e finalmente consegui achar um que funcionasse.
Detalhamento do Script:
Ao executa-lo o script procura no servidor o driver da impressora (por isso é importante vcs colocarem o driver num caminho de facil localização) a ser instalada, mapeia a porta da impressora(o ip da dita cuja) e ainda define ela como padrão.
Salvem o arquivo na pasta scripts do servidor, e peça pra que todos os usuários executem esse script.
Não esqueçam de salva-lo com a extensão .vbs
=============================SCRIPT===============================
'Verifica se a impressora ja esta instalada
DIM multiPrinter, UNCpath1, UNCpath2, arrPrinters, oPrinters, strPrinter,
boolMapped, i
Set multiPrinter = CreateObject("wscript.network"
Set oPrinters = multiPrinter.
For i = 0 to oPrinters.Count - 1 Step 2
If oPrinters.Item(i+1) = "Nome da Impressora de Rede" Then
WScript.Echo "A impressora Nome da Impressora ja esta instalada."
WScript.quit 'Finaliza o script caso a impressora ja esteja instalada
end if
Next
PathToDLL = "\\Caminho do driver no servidor"
portloc = "Ip da impressora"
DriverName = "Nome da impressora"
PrintQueueName = ""
set wshshell = wscript.createobject("wscript.
set fso = createobject("scripting.
'Copia e registra DLL para instalação de impressora
fso.copyfile PathToDLL, "c:\windows\Driver.DLL", True
wshshell.run "regsvr32 /s ""c:\windows\Driver.DLL""", , True
wscript.sleep 1000
dim oPort
dim oMaster
set oPort = CreateObject("Port.Port.1")
set oMaster = CreateObject("PrintMaster.
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.
oPrinter.ServerName = ""
oPrinter.PrinterName = PrintQueueName
oPrinter.DriverName = DriverName
oPrinter.PortName = portinput
oPrinter.DriverPath = "\\Caminho do driver no servidor"
oPrinter.Inffile = "\\Caminho do driver no servidor"
oMaster.PrinterAdd oPrinter
'if Err <> 0 then
'msgbox "an error occurred: " & Err
'end if
set oport = nothing
set oPrinter = nothing
set oMaster = nothing
msgbox "Impressora instalada com sucesso."
set wshshell = nothing
set fso = nothing
'Seta a impressora como default
Dim objNetwork, strUNCPrinter
strUNCPrinter = "Lexmark E120n"
Set objNetwork = CreateObject("WScript.Network"
' Here is where we set the default printer to strUNCPrinter
objNetwork.SetDefaultPrinter strUNCPrinter
WScript.Quit
Nenhum comentário:
Postar um comentário