none
Remover todas as impressoras preservando apenas uma (PDF) RRS feed

  • Pergunta

  • Olá pessoal, preciso de um script (BAT ou VBS) que remova todas as impressoras nas estações de trabalho (em todos os perfis) mas preserve a impressora PDF no caso (PDFcreator). Em seguida deverá instalar as impressoras que eu especificar e por fim definir uma delas como padrão.

    Eu consegui esse script abaixo mas nele eu não consigo remover todas de forma fácil (preciso especificar cada uma). No caso eu poderia até especificar e não incluir o PDFCreator mas são mais de 90 impressoras.

    ;REMOVE AS IMPRESSORAS ANTIGAS
    echo Removendo impressoras antigas

    rundll32 printui.dll,PrintUIEntry /dn /q /n\\servidor\Rh_a4
    rundll32 printui.dll,PrintUIEntry /dn /q /n\\servidor\rh_a4_Duplex
    rundll32 printui.dll,PrintUIEntry /dn /q /n\\servidor\rh_a4_Duplex_2pag


    ;Instala conexão de impressora
    echo Instalando a Impressoras Novas

    rundll32 printui.dll,PrintUIEntry /in /n\\servidor\rh_a4
    rundll32 printui.dll,PrintUIEntry /in /n\\servidor\rh_a4_Duplex
    rundll32 printui.dll,PrintUIEntry /in /n\\servidor\rh_a4_Duplex_2pag

    ;Define a impressora como padrão
    rundll32 printui.dll,PrintUIEntry /y /n\\servidor\rh_a4


    Saulo


    quarta-feira, 12 de fevereiro de 2014 16:57

Respostas

  • Saulo,

    veja se este link ajuda, nele falta você colocar uma exceção para a impressora PDF ou adicionar ela novamente no final.

    VBScript to Remove all network printers then Add network printers

    http://community.spiceworks.com/topic/28498-vbscript-to-remove-all-network-printers-then-add-network-printers

    '==========================================================================
    '
    ' NAME: RemoveNetPrinters.vbs
    ' COMMENT: Removes and add all net printers (XP Only)
    '
    '==========================================================================
    ON ERROR RESUME NEXT
    Set wshNet = CreateObject("WScript.Network")
    Set wshPrn = wshNet.EnumPrinterConnections
    For x = 0 To wshPrn.Count - 1 Step 2
    If Left(wshPrn.Item(x+1),2) = "\\" Then wshNet.RemovePrinterConnection wshPrn.Item(x+1),True,True
    Next
    
    wshnet.AddWindowsPrinterConnection "\\server\printer01"
    wshnet.AddWindowsPrinterConnection "\\server\printer02"
    wshnet.SetDefaultPrinter "\\server\printer02"
    '==========================================================================

    Ref.:

    EnumPrinterConnections Method

    http://msdn.microsoft.com/en-us/library/zhds6k80%28v=vs.84%29.aspx


    Fábio de Paula Junior


    quarta-feira, 12 de fevereiro de 2014 17:37
    Moderador