none
Adicionar uma Impressora local com porta TCP/IP por Scripts RRS feed

  • Pergunta

  • Pessoal,

    Estou tentando instalar uma impressora de rede que é local, mas pela porta TCP/IP. A impressora tem o cabo de rede diretamente nela, já tem o Jet nela mesmo, e configurei o IP nela. Agora estou tentando instala-la a partir de um script.

    Depois de fuçar na net, cheguei ao seguinte script, que não esta funcionando, mas que vai fazer exatamente o que eu quero.

    Obs.: o Detalhe mais importante é que quero deixa-la como padrão, e isto também pelo Script.

    Segue abaixo meu Script, que não esta funcionando.

     

     

    'Instalando porta da impressora

    Set objWMIService = GetObject("winmgmts:")
    Set objNewPort = objWMIService.Get _
    ("Win32_TCPIPPrinterPort").SpawnInstance_
    objNewPort.Name = "IP_10.11.0.32"
    objNewPort.Protocol = 1
    objNewPort.HostAddress = "10.11.0.32"
    objNewPort.PortNumber = "9100"
    objNewPort.SNMPEnabled = False
    objNewPort.Put_


    'Mapeando a impressora Brother

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

    objPrinter.DriverName = "HP Color LaserJet CP1510 Series PS"
    objPrinter.PortName = "IP_10.11.0.32"
    objPrinter.DeviceID = "HPCP1515_SEC"
    objPrinter.Location = "Sala das Secretárias Executivas / COlor Laser"
    objPrinter.Network = True
    objPrinter.Put_

    'Definindo como padrao impressora
    Set colInstalledPrinters = objWMIService.ExecQuery _
    ("Select * from Win32_Printer Where Name = 'HPCP1515_SEC'")

    For Each objPrinter in colInstalledPrinters
    objPrinter.SetDefaultPrinter()

     

    Criei uma Bat com este Scrips, e ao executa-lo a unica coisa que ocorre é que o Script abre e fecha rapidamente mas nada é cofigurado.

    Espero que possam me ajudar...

    Abraços!

    sexta-feira, 10 de setembro de 2010 13:55

Respostas

  • Fabio,

    Você acertou mesmo, é um script VBS! Não vou marcar como resposta pq apareceu outro inconveniente. Acho que você pode me ajudar, ai marco as duas vezes suas respostas, como "|Resposta ".

    Seguinte... Eu salvei desta vez em VBS, modifiquei o código que ficou assim:

     

    'Instalando Porta TCP/IP da Impressora

    Set objWMIService = GetObject("winmgmts:")
    Set objNewPort = objWMIService.Get _
    ("Win32_TCPIPPrinterPort").SpawnInstance_
    objNewPort.Name = "IP_10.11.0.32"
    objNewPort.Protocol = 1
    objNewPort.HostAddress = "10.11.0.32"
    objNewPort.PortNumber = "9100"
    objNewPort.SNMPEnabled = False
    objNewPort.Put_


    'Mapeando o Dispositivo de Impressão HP CP 1515n

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

    objPrinter.DriverName = "HP Color LaserJet CP1510 Series PS"
    objPrinter.PortName = "IP_10.11.0.32"
    objPrinter.DeviceID = "HPCP1515_SEC"
    objPrinter.Location = "Sala das Secretárias Executivas / COlor Laser"
    objPrinter.Network = True
    objPrinter.Put_

    'Definindo o Dispositivo de Impressão Padrão
    Set colInstalledPrinters = objWMIService.ExecQuery _
    ("Select * from Win32_Printer Where Name = 'HPCP1515_SEC'")

    For Each objPrinter in colInstalledPrinters
    objPrinter.SetDefaultPrinter()
    objPrinter.Put_

    Next

     

    O código está perfeito, esta funcionando. Mas os usuários do domínio não tem privilegios necessarios pra executar esse script VBS.

    Como posso fazer pra inserir algo como o RUNAS neste script acima? Quero que ele seja executado com uma outra conta de administrador local. E possível isso? Se sim, mostra pra mim como o código ficaria.

    Abraços, e obrigado pela resposta!

     

    • Marcado como Resposta Alexandre O. _ segunda-feira, 13 de setembro de 2010 12:46
    sábado, 11 de setembro de 2010 00:13

Todas as Respostas

  • Alexandre,

    Este código é VBScript vc deve salvar o arquivo como ".vbs".

     


    Fábio de Paula Junior
    sexta-feira, 10 de setembro de 2010 14:28
    Moderador
  • Fabio,

    Você acertou mesmo, é um script VBS! Não vou marcar como resposta pq apareceu outro inconveniente. Acho que você pode me ajudar, ai marco as duas vezes suas respostas, como "|Resposta ".

    Seguinte... Eu salvei desta vez em VBS, modifiquei o código que ficou assim:

     

    'Instalando Porta TCP/IP da Impressora

    Set objWMIService = GetObject("winmgmts:")
    Set objNewPort = objWMIService.Get _
    ("Win32_TCPIPPrinterPort").SpawnInstance_
    objNewPort.Name = "IP_10.11.0.32"
    objNewPort.Protocol = 1
    objNewPort.HostAddress = "10.11.0.32"
    objNewPort.PortNumber = "9100"
    objNewPort.SNMPEnabled = False
    objNewPort.Put_


    'Mapeando o Dispositivo de Impressão HP CP 1515n

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

    objPrinter.DriverName = "HP Color LaserJet CP1510 Series PS"
    objPrinter.PortName = "IP_10.11.0.32"
    objPrinter.DeviceID = "HPCP1515_SEC"
    objPrinter.Location = "Sala das Secretárias Executivas / COlor Laser"
    objPrinter.Network = True
    objPrinter.Put_

    'Definindo o Dispositivo de Impressão Padrão
    Set colInstalledPrinters = objWMIService.ExecQuery _
    ("Select * from Win32_Printer Where Name = 'HPCP1515_SEC'")

    For Each objPrinter in colInstalledPrinters
    objPrinter.SetDefaultPrinter()
    objPrinter.Put_

    Next

     

    O código está perfeito, esta funcionando. Mas os usuários do domínio não tem privilegios necessarios pra executar esse script VBS.

    Como posso fazer pra inserir algo como o RUNAS neste script acima? Quero que ele seja executado com uma outra conta de administrador local. E possível isso? Se sim, mostra pra mim como o código ficaria.

    Abraços, e obrigado pela resposta!

     

    • Marcado como Resposta Alexandre O. _ segunda-feira, 13 de setembro de 2010 12:46
    sábado, 11 de setembro de 2010 00:13
  • Olha, uma coisa que faço onde trabalho é criar dois arquivos, um com o runas e outro com a função do que quero.

    Exemplo: você mencionou um domínio, então deve ter uma pasta publica, onde todos tem acesso?

    Coloque os dois arquivos nela, um com nome instalar.vbs (com todo seu código da impressora) e outro com nome executa.bat

    Dentro do executa.bat coloque o seguinte:

    runas /user:SEUDOMINIO\Administrador "\\SUAPASTAPUBLICA\instalar.vbs"

    SEUDOMINIO -> tem que ser o nome especifico do domínio em que o computador com a impressora esta.

    SUAPASTAPUBLICA -> aqui coloca o IP da pasta \\10.0.0.1 - tem que ver qual é o seu.

    Com o executa.bat preenchido, execute ele. Vai abrir uma janela do prompt pedindo a senha do administrador. Assim que colocar, é só aguardar.

    quarta-feira, 29 de janeiro de 2014 17:09
  • Eu posso utilizar esse script uma uma maquina que não loga em domínio?
    quarta-feira, 5 de novembro de 2014 16:57