none
Script para Impressora TCP RRS feed

  • Pergunta

  • Olá a todos!

    Gostaria de saber se há algum modo para mapear impressoras TCP (com rede integrada), por script. Na verdade, o ideal seria um script que além de mapear, indique o caminho do compartilhamento do driver.

    Minha impressora está no endereço 192.168.30.20... e até agora to tendo que ir de máquina em máquina realizar a instalação... há outra maneira?

    Abraço
    MCP / MCDST / MCSA
    Tudo posso naquele que me fortalece!
    segunda-feira, 15 de março de 2010 19:42

Respostas

  • Olá,

    Verifique o script abaixo (não testei ainda)

    PrnName = "Accounting 2nd Floor"
    PrnLocation = "2nd floor west, room 102"
    PrnComment = "Test printer script"
    PrnDrv = "RICOH Aficio MP 2000 PCL 5e"
    DrvPath = "\\server12\Drivers"
    InfPath = DrvPath & "\oemsetup.inf"
    PortIP = "10.1.1.72"
    PortName = "IP_" & PortIP

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

    ''''''''''''''''''''''''''
    ' create ip-printer-port
    ''''''''''''''''''''''''''
    Set objNewPort = objWMIService.Get _
        ("Win32_TCPIPPrinterPort").SpawnInstance_

    objNewPort.Name = PortName
    objNewPort.Protocol = 1
    objNewPort.HostAddress = PortIP
    objNewPort.PortNumber = "9100"
    objNewPort.SNMPEnabled = False
    objNewPort.Put_                                        -----> linha 25

    ' wsh.echo "port created"

    ''''''''''''''''''''''''''
    ' install printer driver
    ''''''''''''''''''''''''''
    ' If the driver is not signed, one cannot use WMI scripting
    ' to install the driver.
    ' Make sure the cat file for the package is copied to the same
    ' location as the driver

    objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True

    Set objDriver = objWMIService.Get("Win32_PrinterDriver")

    objDriver.Name = PrnDrv
    objDriver.SupportedPlatform = "Windows NT x86"
    objDriver.Version = "3"
    objDriver.DriverPath = DrvPath
    objDriver.Infname = InfPath
    intResult = objDriver.AddPrinterDriver(objDriver)

    ' wsh.echo "driver installed"

    ''''''''''''''''''''''''''
    ' Add local printer
    ''''''''''''''''''''''''''
    Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

    objPrinter.DriverName = PrnDrv
    objPrinter.PortName = PortName
    objPrinter.DeviceID = PrnName
    objPrinter.Location = PrnLocation
    objPrinter.Comment = PrnComment
    objPrinter.Network = True
    objPrinter.Put_
     
    ' wsh.echo "printer added"



    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    terça-feira, 16 de março de 2010 12:02

Todas as Respostas

  • Olá,

    Verifique o script abaixo (não testei ainda)

    PrnName = "Accounting 2nd Floor"
    PrnLocation = "2nd floor west, room 102"
    PrnComment = "Test printer script"
    PrnDrv = "RICOH Aficio MP 2000 PCL 5e"
    DrvPath = "\\server12\Drivers"
    InfPath = DrvPath & "\oemsetup.inf"
    PortIP = "10.1.1.72"
    PortName = "IP_" & PortIP

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

    ''''''''''''''''''''''''''
    ' create ip-printer-port
    ''''''''''''''''''''''''''
    Set objNewPort = objWMIService.Get _
        ("Win32_TCPIPPrinterPort").SpawnInstance_

    objNewPort.Name = PortName
    objNewPort.Protocol = 1
    objNewPort.HostAddress = PortIP
    objNewPort.PortNumber = "9100"
    objNewPort.SNMPEnabled = False
    objNewPort.Put_                                        -----> linha 25

    ' wsh.echo "port created"

    ''''''''''''''''''''''''''
    ' install printer driver
    ''''''''''''''''''''''''''
    ' If the driver is not signed, one cannot use WMI scripting
    ' to install the driver.
    ' Make sure the cat file for the package is copied to the same
    ' location as the driver

    objWMIService.Security_.Privileges.AddAsString "SeLoadDriverPrivilege", True

    Set objDriver = objWMIService.Get("Win32_PrinterDriver")

    objDriver.Name = PrnDrv
    objDriver.SupportedPlatform = "Windows NT x86"
    objDriver.Version = "3"
    objDriver.DriverPath = DrvPath
    objDriver.Infname = InfPath
    intResult = objDriver.AddPrinterDriver(objDriver)

    ' wsh.echo "driver installed"

    ''''''''''''''''''''''''''
    ' Add local printer
    ''''''''''''''''''''''''''
    Set objPrinter = objWMIService.Get("Win32_Printer").SpawnInstance_

    objPrinter.DriverName = PrnDrv
    objPrinter.PortName = PortName
    objPrinter.DeviceID = PrnName
    objPrinter.Location = PrnLocation
    objPrinter.Comment = PrnComment
    objPrinter.Network = True
    objPrinter.Put_
     
    ' wsh.echo "printer added"



    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    terça-feira, 16 de março de 2010 12:02
  • E aí Jesiel, tudo bem?

    Vou testar o script e fazer umas adaptações! Aqui tenho ambientes com W7 e WXP tudo mesclado x86 e x64!

    Mesmo assim, ajudou muito! Testando eu posto o resultado!

    Abraço!
    MCP / MCDST / MCSA
    Tudo posso naquele que me fortalece!
    terça-feira, 16 de março de 2010 13:14
  • E aí Jesiel, tudo bem?

    Vou testar o script e fazer umas adaptações! Aqui tenho ambientes com W7 e WXP tudo mesclado x86 e x64!

    Mesmo assim, ajudou muito! Testando eu posto o resultado!

    Abraço!
    MCP / MCDST / MCSA
    Tudo posso naquele que me fortalece!


    Ola amigo, estou com problema semelhante, me diga como conseguiste resolver!?!?

     

    Abraço.

    segunda-feira, 10 de maio de 2010 19:29