none
Script não encontra grupo de usuários RRS feed

  • Pergunta

  • Boa Tarde,

    Preciso de uma ajuda sua sobre esse script. Estava fazendo uns testes com ele em meu ambiente, mas qdo tento fazer o logon com um usuário que não tem perfil administrador, ele não pega o grupo, posteriormente, ele não faz os mapeamentos por grupo que quero que faça.Tem idéia do que pode ser?

    Desde já agradeço a ajuda de vocês.

    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 = ucase(objGroup.CN)
        
        wscript.echo "Grupo : " & strGroupName
     
        Select Case strGroupName
            Case "TI"
                wscript.echo "    Mapear"
                   objNetwork.MapNetworkDrive "F:", "\\srvwindados001\Setores\TI"
                   objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"   
                   objNetwork.MapNetworkDrive "U:", "\\srvwindados001\Pessoal" & objNetwork.UserName            
            Case "RH"
                wscript.echo "    Mapear"
                   objNetwork.MapNetworkDrive "F:", "\\srvwindados001\Setores\RH"
                   objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"   
                   objNetwork.MapNetworkDrive "U:", "\\srvwindados001\Pessoal" & wshNet.UserName            
           End Select
    Next

    quinta-feira, 3 de maio de 2012 16:59

Respostas

  • Gustavo,

    Testei este código e funcionou.

    Set objNetwork = createobject("Wscript.Network")
    
    Set objUser = GetObject("WinNT://" & objNetwork.UserDomain & "/" & objNetwork.Username & ",user")
    
    for each strGrupo in objUser.groups
    
    	Select Case Ucase(strGrupo.name)
    		Case "TI"
    			wscript.echo "    Mapear"
    			objNetwork.MapNetworkDrive "F:", "\\srvwindados001\Setores\TI"
    			objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"   
    			objNetwork.MapNetworkDrive "U:", "\\srvwindados001\Pessoal" & objNetwork.UserName            
    		Case "RH"
    			wscript.echo "    Mapear"
    			objNetwork.MapNetworkDrive "F:", "\\srvwindados001\Setores\RH"
    			objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"   
    			objNetwork.MapNetworkDrive "U:", "\\srvwindados001\Pessoal" & wshNet.UserName            
    	End Select	
    
    next


    Fábio de Paula Junior

    • Marcado como Resposta Gustavo Gabriel segunda-feira, 7 de maio de 2012 15:04
    domingo, 6 de maio de 2012 23:53
    Moderador

Todas as Respostas

  • Tire a linha "on error resume next", sem ela você pode se deparar com alguma mensagem de erro esclarecedora.

    Fábio de Paula Junior

    quinta-feira, 3 de maio de 2012 17:56
    Moderador
  • Bom dia Fábio,

    Nada. Nem debugando consigo saber, pois debugo usando o admnistrador do servidor e com ele dá certo.

    Fico no aguardo da ajuda do pessoal.

    sexta-feira, 4 de maio de 2012 11:53
  • E debugando com um usuário comum? o que acontece?

    Não adianta muito debugar do jeito que funciona, você tem que debugar simulando o ambiente que não funciona, no caso com usuário comum.


    Fábio de Paula Junior

    sexta-feira, 4 de maio de 2012 12:27
    Moderador
  • Gustavo,

    No momento eu não tenho como testar, vou dar um chute: O problema é que vc está tentando recuperar informações de grupo e só o admin pode fazer isto.

    Tente utilizar este código:

    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
    	Select Case TRUE
    		Case instr(strGroup,"CN=TI")
    			wscript.echo "    Mapear"
    			objNetwork.MapNetworkDrive "F:", "\\srvwindados001\Setores\TI"
    			objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"   
    			objNetwork.MapNetworkDrive "U:", "\\srvwindados001\Pessoal" & objNetwork.UserName            
    		Case instr(strGroup,"CN=RH")
    			wscript.echo "    Mapear"
    			objNetwork.MapNetworkDrive "F:", "\\srvwindados001\Setores\RH"
    			objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"   
    			objNetwork.MapNetworkDrive "U:", "\\srvwindados001\Pessoal" & wshNet.UserName            
    	End Select
     Next


    Fábio de Paula Junior

    sexta-feira, 4 de maio de 2012 12:53
    Moderador
  • Está dando ero na linha 10. "o objeto não é uma coleção".

    Att.

    Gustavo

    sexta-feira, 4 de maio de 2012 14:36
  • Gustavo,

    Dê uma olhada nestes dois links. São bem completos, caso vc continue com problemas envie o código que vc modificou.

    http://www.tek-tips.com/viewthread.cfm?qid=1409676

    http://www.rlmueller.net/MemberOf.htm


    Fábio de Paula Junior

    sexta-feira, 4 de maio de 2012 17:29
    Moderador
  • Gustavo,

    Testei este código e funcionou.

    Set objNetwork = createobject("Wscript.Network")
    
    Set objUser = GetObject("WinNT://" & objNetwork.UserDomain & "/" & objNetwork.Username & ",user")
    
    for each strGrupo in objUser.groups
    
    	Select Case Ucase(strGrupo.name)
    		Case "TI"
    			wscript.echo "    Mapear"
    			objNetwork.MapNetworkDrive "F:", "\\srvwindados001\Setores\TI"
    			objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"   
    			objNetwork.MapNetworkDrive "U:", "\\srvwindados001\Pessoal" & objNetwork.UserName            
    		Case "RH"
    			wscript.echo "    Mapear"
    			objNetwork.MapNetworkDrive "F:", "\\srvwindados001\Setores\RH"
    			objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"   
    			objNetwork.MapNetworkDrive "U:", "\\srvwindados001\Pessoal" & wshNet.UserName            
    	End Select	
    
    next


    Fábio de Paula Junior

    • Marcado como Resposta Gustavo Gabriel segunda-feira, 7 de maio de 2012 15:04
    domingo, 6 de maio de 2012 23:53
    Moderador
  • Bom dia Fábio,

    Esse funcionou, Muito obrigado pela ajuda.

    Agora estou implementado mais coisas para poder deixar bem feito para minha necessidade.

    Mais uma vez muito obrigado.

    segunda-feira, 7 de maio de 2012 15:07