Mostrando postagens com marcador dominio. Mostrar todas as postagens
Mostrando postagens com marcador dominio. Mostrar todas as postagens

sábado, 12 de março de 2011

Instalar Impressora num Domínio Via Script

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.EnumPrinterConnections

       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.shell")
set fso = createobject("scripting.filesystemobject")

'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.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.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