none
Script para desconectar impressoras de rede RRS feed

  • Pergunta

  • Preciso de fazer um script onde delete TODAS impressoras de rede Menos 2. 
    Já pesquisei só achei script onde deleta todas e não trata excessões.
    não tenho conhecimento nenhum sobre tal assunto,

    Desde já agradeço.

    sexta-feira, 15 de janeiro de 2010 14:30

Respostas

  • Olá,

    Verifique o script abaixo:

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

    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer")

    'IMPRESSORA QUE VOCÊ NÃO QUER APAGAR
    strImpressora = "\\servidor\printer"

    For Each objPrinter in colInstalledPrinters


       if TRIM(objPrinter.DeviceID) <> strImpressora Then
          wscript.echo "IRA APAGAR : " & objPrinter.DeviceID
    '      objPrinter.Delete_
       End if
    Next


    Se funcionar, remova a linha wscript.... e tire o comentário (caracter ' ) da linha objPrinter.Delete_


    Até mais,

    Jesiel

    Obs.: Se útil, classifique



    sexta-feira, 15 de janeiro de 2010 15:25

Todas as Respostas

  • Olá,

    Verifique o script abaixo:

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

    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer")

    'IMPRESSORA QUE VOCÊ NÃO QUER APAGAR
    strImpressora = "\\servidor\printer"

    For Each objPrinter in colInstalledPrinters


       if TRIM(objPrinter.DeviceID) <> strImpressora Then
          wscript.echo "IRA APAGAR : " & objPrinter.DeviceID
    '      objPrinter.Delete_
       End if
    Next


    Se funcionar, remova a linha wscript.... e tire o comentário (caracter ' ) da linha objPrinter.Delete_


    Até mais,

    Jesiel

    Obs.: Se útil, classifique



    sexta-feira, 15 de janeiro de 2010 15:25
  • Jesiel, o script deleta  as todas até a que estaria na excessão.

    ficou assim:

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

    Set colInstalledPrinters =  objWMIService.ExecQuery _
        ("Select * from Win32_Printer")

    'IMPRESSORA QUE VOCÊ NÃO QUER APAGAR
    strImpressora = "\\192.168.232.30\\17-CCPR-PBA4-004"

    For Each objPrinter in colInstalledPrinters


       if TRIM(objPrinter.DeviceID <> strImpressora )Then
                objPrinter.Delete_
       End if
    Next


    Obrigado.

    • Marcado como Resposta Jesiel S. Pereira quarta-feira, 27 de janeiro de 2010 13:29
    • Não Marcado como Resposta Jesiel S. Pereira quarta-feira, 27 de janeiro de 2010 13:29
    sexta-feira, 15 de janeiro de 2010 15:54
  • Olá,

    No wscript ele mostrou a impressora: "\\192.168.232.30\\17-CCPR-PBA4-004 " ?

    Verifique se mostrou no alerta... se mostrou ele irá apagar... se não mostrou não deveria apagar.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    sexta-feira, 15 de janeiro de 2010 16:41
  • sim,
    ele exibiu a mensagem com  impressora "\\192.168.232.30\\17-CCPR-PBA4-004 "

    e deletou todas.

    Valew

    sexta-feira, 15 de janeiro de 2010 17:38
  • Olá,

    Observe se na mensagem está aparecendo de forma correta (conforme você digitou no script).

    Deve estar algum caracter errado.

    Ou o espaço depois do 004, ou o \\ depois do IP. Algum caracter deve estar errado.


    A impressora não deve aparecer na mensagem de alerta... No alerta deve aparecer somente as impressoras que serão deletadas.


    Até mais,

    Jesiel

    Obs.: Se útil, classifique




    sexta-feira, 15 de janeiro de 2010 18:08