Usuário com melhor resposta
Script não encontra grupo de usuários

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- Tipo Alterado Fábio JrModerator quinta-feira, 3 de maio de 2012 17:37 Pergunta
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
Todas as Respostas
-
-
-
-
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
-
-
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
-
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
-