none
Mapeando impressoras via VBS RRS feed

  • Discussão Geral

  • Senhores, boa tarde!

    A um tempo terminei um script aqui na empresa, e gostaria de compartilhar com vocês.

    Tínhamos um grande problema em relação a instalação de impressoras, ter que instalar e mapear para 2 mil usuarios..como a um tempo trocamos todo parque de impressoras da empresa, não queria que fizessem esse trabalho a mão um por um..

    então, consegui criar um script para mapear as impressoras novas, e desinstalar as impressoras antigas..creio que seja util para muita gente que queria ajudar o pessoal de suporte da empresa..

    No meu caso, criei 2 grupos no AD.

    USERS_PRINTER_BLACK (impressão preto e branco) e USERS_PRINTER_COLOR ( impressão colorida)

    Bom, os usuarios que eu queria que imprimissem apenas preto e branco, adicionei ao grupo USERS_PRINTER_BLACK e os usuarios coloridos em USERS_PRINTER_COLOR  ( creio que é a parte que deu mais trabalho foi a gerencia de cada departamento dizer quais usuarios teria permissão em tais impressoras) hahaha

    Apos todo esse trabalho, consegui finalizar o script..

    o script faz o seguinte na inicialização do usuario..ele vai no ad, verifica qual grupo o usuario está e instala a impressora, removendo as outras e adicionando a nova como padrão..sei que ficou meio gambiarra a parte de remover, mas não consegui fazer de outra forma..rs

    SCRIPT PARA REMOVER IMPRESSORAS

    'Inicio do script de mapeamento
    'Daniel Vasconcelos Ferreira
    'INFRAESTRUTURA DE TI - SISTEMAS
    
    
    
    ON ERROR RESUME NEXT
    Set objSysInfo = CreateObject("ADSystemInfo")
    Set WshNetwork = CreateObject("Wscript.Network")
      
    strUserPath = "LDAP://" & objSysInfo.UserName
    Set objUser = GetObject(strUserPath)
      
    objMemberOf = objUser.GetEx("MemberOf")
    objUserName = objUser.Get("givenName")
      
    For Each strGroup in objMemberOf
    strGroupPath = "LDAP://" & strGroup
    Set objGroup = GetObject(strGroupPath)
    
    strGroupName = objGroup.CN
     
    Select Case strGroupName
    
    Case "LG_COMP_USERS_PRINTER_BLACK"
    
    WshNetwork.RemovePrinterConnection "\\10.23.22.100\IMP_GERENCIA_01"
     
    
    
    End Select
    Next
    
    ' Fim do script

    SCRIPT PARA ADICIONAR IMPRESSORAS VIA GRUPO

    'Inicio do script de mapeamento
    'Daniel Vasconcelos Ferreira
    'INFRAESTRUTURA DE TI - SISTEMAS
    
    
    ON ERROR RESUME NEXT
    Set objSysInfo = CreateObject("ADSystemInfo")
    Set WshNetwork = CreateObject("Wscript.Network")
      
    strUserPath = "LDAP://" & objSysInfo.UserName
    Set objUser = GetObject(strUserPath)
      
    objMemberOf = objUser.GetEx("MemberOf")
    objUserName = objUser.Get("givenName")
      
    For Each strGroup in objMemberOf
    strGroupPath = "LDAP://" & strGroup
    Set objGroup = GetObject(strGroupPath)
    
    strGroupName = objGroup.CN
     
    Select Case strGroupName
    
    Case "LG_COMP_USERS_PRINTER_BLACK"
    WshNetwork.AddWindowsPrinterConnection "\\10.23.22.100\IMP_BLACK"
     WshNetwork.SetDefaultPrinter "\\10.23.22.100\IMP_BLACK"
    
     
    Case "LG_COMP_USERS_PRINTER_COLOR"
     WshNetwork.AddWindowsPrinterConnection "\\10.23.22.100\IMP_COLOR"
    WshNetwork.SetDefaultPrinter "\\10.23.22.100\IMP_COLOR"
    
    End Select
    Next
    
    ' Fim do script
    

    Espero que possa ajudar!

    Abs

    quarta-feira, 11 de março de 2015 17:39

Todas as Respostas

  • Daniel,

    Obrigado pela sua colaboração.

    Aproveito para te apresentar a galeria do TechNet. Lá você pode disponibilizar códigos e outras ferramentas para toda a comunidade.

    https://gallery.technet.microsoft.com/


    Heitor Mocelin Ferreira

    quarta-feira, 11 de março de 2015 17:53
  • Olá Heitor,

    aproveitando o espaço sobre esse assunto, criei uma ferramenta com quase tudo para mapeamento de impressora, seu diferencial é que pode ser executado em computador remoto, aplicando em todos os perfís de usuário, mas está em *.exe, feito por mim mesmo, como posso partilhar? Segue o help ainda em revisão:

    Conecta Fila v3 [Ajuda]


    Ferramenta para adicionar, remover e/ou substituir conexão de impressora (mapeamento ou fila de impressão), em computador Local ou Remoto, Ó TODOS OS PERFÍS DE USUÁRIO de forma transparente(sem interação), efetivando em segundos.
    Requer permiss§es de AdministraþÒo Remota para o caso de um computador da remoto.

     Executar a partir do prompt de comando, ex.:

            CONECTA_FILA_V3.EXE ARGUMENTOS

     Conecta_Fila_v3.exe [hostname] ou [-e: entreda em arquivo]
      [-n: conecta impressora] [-p: define impressora padrÒo]
      [-a: indica conexÒo de impressora antiga] [-d remove conexÒo de impressora antiga]


    Argumentos:
    -e: ou /e:      -Obtem arquivo de texto simples(*.TXT *.LOG *.CSV) como entrada de hosts.
    -s: ou /s:      -SaÝda de resultado em arquivo de texto simples(*.TXT *.LOG *.CSV).
    -n: ou /n:      -Adiciona conexÒo de impressora indicada.
    -r  ou /r       -Refaz conexÒo de impressora indicada sobre parÔmetro -n: ou /n:.
    -p: ou /p:      -Forþa definiþÒo de impressora padrÒo.
    -a: ou /a:      -Indica conexÒo de impressora antiga. Sendo esta a impressora padrÒo, substitui pela indicada sobre parÔmetro -n ou /n:.
    -d  ou /d       -Remove conexÒo de impressora indicada sobre o parÔmetro -a: ou /a:.
    -dx  ou /dx     -Remove todas conex§es de impressora.
    -t  ou /t       -Adiciona conexÒo de impressora na condiþÒo de existir uma das indicadas sobre o parÔmetro -a: ou /a:.
    -?              -Ajuda de utilizaþÒo do Script.


    Exemplos:

    Conecta_Fila_v3.exe hostname -n:\\Servidor\Impressora

    Conecta_Fila_v3.exe hostname -n:\\Servidor1\Impressora1;\\Servidor\Impressora2;\\Servidor1\Impressora3
    ** Este mÚtodo permite conectar vßrias conex§es de impressora, separando-os por ";" **

    Conecta_Fila_v3.exe hostname -n:\\Servidor\Impressora -r
    ** Este mÚtodo permite reconectar vßrios mapeamentos de uma s¾ vez, separando-os por ";" **

    Conecta_Fila_v3.exe -e:"c:\Lista de Computadores.txt" -n:\\Servidor\Impressora_a_Conectar -a:\\Servidor\Impressora_Antiga
    ** Com um arquivo de texto simples contendo a lista de computadores(*.TXT *.LOG *.CSV) permite executar a aþÒo escolhida em m·ltiplos hosts **

    Conecta_Fila_v3.exe hostname -n:\\Servidor\Impressora_Nova -a:\\Servidor\Impressora_Antiga -t -d
    ** Acrescentando "-t" se instala a conexÒo de impressora apenas na condiþÒo de existir a indicada sobre o parÔmetro "-a:", opcionalmente combinar com "-d" para remover a antiga **

    Conecta_Fila_v3.exe hostname -n:\\Servidor\Impressora -a:\\Servidor\Impressora_Antiga -p:\\Servidor\Impressora


    Informativo:

    Efetuar elevaþÒo de privilÚgio do Prompt em S.O. com UAC(Controle de Conta de Usußrio), utilizando a opþÒo "Executar como administrador".
    Pode-se utilizar em uma conta sem privilÚgio administrativo, porÚm surtirß efeito apenas no perfil do executor no computador local, ex.:
    Conecta_Fila_v3.exe localhost -n:\\Servidor\Impressora_a_Conectar

    domingo, 21 de fevereiro de 2016 07:58