locked
Script adicionando impressora por departamento. RRS feed

Respostas

  • Amigo,

    Use esse:

    On Error Resume Next
    
    Set objSysInfo = CreateObject("ADSystemInfo")
    Set objNetwork = CreateObject("Wscript.Network")
    
    strUserPath = "LDAP://" & objSysInfo.UserName
    Set objUser = GetObject(strUserPath)
    
    For Each strGroup in objUser.MemberOf
        strGroupPath = "LDAP://" & strGroup
        Set objGroup = GetObject(strGroupPath)
        strGroupName = objGroup.CN
    
        Select Case strGroupName
            Case "Finance Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"
    Case "Human Resource Users" objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"
    Case "Manufacturing Users" objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"
    Case "Shipping and Receiving Users" objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"
    End Select Next
    Só troque os nomes dos grupos e das impressoras.
    Qualquer dúvida post.
    Classifique,
    Paulo Dutra
    quarta-feira, 20 de dezembro de 2006 10:41
  • Paulo, boa tarde.

    Funcionou cara, muito obrigado.

    Gostaria de tirar outra duvida!

    como faço para neste caso colocar a impressora do usuário que será instalada como padrão?

    O script ficou da seguinte forma.

     

    On Error Resume Next

    Set objSysInfo = CreateObject("ADSystemInfo")
    Set objNetwork = CreateObject("Wscript.Network")

    strUserPath = "LDAP://" & objSysInfo.UserName
    Set objUser = GetObject(strUserPath)

    For Each strGroup in objUser.MemberOf
        strGroupPath = "LDAP://" & strGroup
        Set objGroup = GetObject(strGroupPath)
        strGroupName = objGroup.CN

        Select Case strGroupName
            Case "Dem depto. Teste"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"       
            Case "Finance Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Compras"
            Case "Manufacturing Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Comercial"
            Case "Shipping and Receiving Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_RH"
      End Select
    Next

     

    Abraços

    quarta-feira, 20 de dezembro de 2006 20:46

Todas as Respostas

  • Sim, eu estava organizando meu AD para fazer desta forma, mas queria um scipt mais flexivel, gostaria de saber se é possivel.Em ultimo caso farei desta forma.
    terça-feira, 19 de dezembro de 2006 23:44
  • Amigo,

    Use esse:

    On Error Resume Next
    
    Set objSysInfo = CreateObject("ADSystemInfo")
    Set objNetwork = CreateObject("Wscript.Network")
    
    strUserPath = "LDAP://" & objSysInfo.UserName
    Set objUser = GetObject(strUserPath)
    
    For Each strGroup in objUser.MemberOf
        strGroupPath = "LDAP://" & strGroup
        Set objGroup = GetObject(strGroupPath)
        strGroupName = objGroup.CN
    
        Select Case strGroupName
            Case "Finance Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"
    Case "Human Resource Users" objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"
    Case "Manufacturing Users" objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"
    Case "Shipping and Receiving Users" objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"
    End Select Next
    Só troque os nomes dos grupos e das impressoras.
    Qualquer dúvida post.
    Classifique,
    Paulo Dutra
    quarta-feira, 20 de dezembro de 2006 10:41
  • Paulo, boa tarde.

    Funcionou cara, muito obrigado.

    Gostaria de tirar outra duvida!

    como faço para neste caso colocar a impressora do usuário que será instalada como padrão?

    O script ficou da seguinte forma.

     

    On Error Resume Next

    Set objSysInfo = CreateObject("ADSystemInfo")
    Set objNetwork = CreateObject("Wscript.Network")

    strUserPath = "LDAP://" & objSysInfo.UserName
    Set objUser = GetObject(strUserPath)

    For Each strGroup in objUser.MemberOf
        strGroupPath = "LDAP://" & strGroup
        Set objGroup = GetObject(strGroupPath)
        strGroupName = objGroup.CN

        Select Case strGroupName
            Case "Dem depto. Teste"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"       
            Case "Finance Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Compras"
            Case "Manufacturing Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Comercial"
            Case "Shipping and Receiving Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_RH"
      End Select
    Next

     

    Abraços

    quarta-feira, 20 de dezembro de 2006 20:46
  • Script final.

    Adiciona a impressora e seta ela como default.

     

    On Error Resume Next

    Set objSysInfo = CreateObject("ADSystemInfo")
    Set objNetwork = CreateObject("Wscript.Network")

    strUserPath = "LDAP://" & objSysInfo.UserName
    Set objUser = GetObject(strUserPath)

    For Each strGroup in objUser.MemberOf
        strGroupPath = "LDAP://" & strGroup
        Set objGroup = GetObject(strGroupPath)
        strGroupName = objGroup.CN

        Select Case strGroupName
            Case "DEM Depto. Teste"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Financeiro"       
                objNetwork.SetDefaultPrinter "\\delptmp\HP1320_Financeiro
     Case "Finance users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Compras"
            Case "Manufacturing Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Comercial"
            Case "Shipping and Receiving Users"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_RH"
      End Select
    Next

     

    Se for o caso de colocar 2 ou 3 impressoras de Depto. Diferentes?

     

    Eu coloquei desta forma, mas não adicionou a segunda impressora.

     

     Select Case strGroupName
     Case "Print DEM Depto. Comercial"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Comercial"
                objNetwork.AddWindowsPrinterConnection "
    \\delptmp\HP1220C_Comercial"
                objNetwork.SetDefaultPrinter "
    \\delptmp\HP1320_Comercial"       
     Case "Print DEM Depto. Compras"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Compras"
                objNetwork.SetDefaultPrinter "\\delptmp\"
            Case "Print DEM Depto. RH"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_RH"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\"
                objNetwork.SetDefaultPrinter "\\delptmp\"
     Case "Print DEM Depto. Financeiro"

     

    Abraços

    quarta-feira, 20 de dezembro de 2006 21:16
  • Pessoal, alguém pode tirar minha dúvida acima?

    Abraços

    Rubens Alves
    quinta-feira, 21 de dezembro de 2006 22:07
  • Olá,

    é só você trocar a ordem de instalação.
    A impressora que você quer que seja padrão coloque ela por ultimo na ordem.


                objNetwork.AddWindowsPrinterConnection "
    \\delptmp\HP1220C_Comercial"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Comercial"
                objNetwork.SetDefaultPrinter "\\delptmp\HP1320_Comercial"       

    Dessa forma você conseguirá.

    Pode usar também a seguinte estrutura

    if (strGroupName = "Print DEM Depto. Comercial") then

            objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1220C_Comercial"
                objNetwork.AddWindowsPrinterConnection "\\delptmp\HP1320_Comercial"
                objNetwork.SetDefaultPrinter "\\delptmp\HP1320_Comercial"       

    end if

    Apenas quiz deixar uma opção a mais.

    É isso pessoal.

    []s
    Esdras "Carpe Diem"
    quinta-feira, 5 de março de 2009 16:37