Usuário com melhor resposta
Script não executa automaticamente

Pergunta
-
Boa Tarde,
Preciso de uma ajuda da comunidade, para o script que segue:
On Error Resume Next
'Option Explicit
Dim objNetwork, objFS, objUser
Set objNetwork = createobject("Wscript.Network")
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objUser = GetObject("WinNT://" & objNetwork.UserDomain & "/" & objNetwork.Username & ",user")
For each Grupo in User.groups
Select Case Ucase(Grupo.name)
Case "PROCESSOS"
If objFS.DriveExists("I:") = true then
objNetwork.RemoveNetworkDrive "I:", true, true
objNetwork.RemoveNetworkDrive "P:", true, true
objNetwork.RemoveNetworkDrive "U:", true, true
Else
objNetwork.MapNetworkDrive "I:", "\\srvwindados001\Setores"
objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"
objNetwork.MapNetworkDrive "U:", "\\srvwindados001\" & objNetwork.UserName
objNetwork.AddWindowsPrinterConnection "\\srvwindados001\hp2200_administrativo"
objNetwork.SetDefaultPrinter "\\srvwindados001\hp2200_administrativo"
End If
Case "GER.FABRICA"
if objFS.DriveExists("I:") = true then
objNetwork.RemoveNetworkDrive "I:", true, true
objNetwork.RemoveNetworkDrive "P:", true, true
objNetwork.RemoveNetworkDrive "U:", true, true
Else
objNetwork.MapNetworkDrive "I:", "\\srvwindados001\Setores"
objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"
objNetwork.MapNetworkDrive "U:", "\\srvwindados001\" & objNetwork.UserName
objNetwork.AddWindowsPrinterConnection "\\srvwindados001\hp2200_administrativo"
objNetwork.SetDefaultPrinter "\\srvwindados001\hp2200_administrativo"
End If
Case "TI"
if objFS.DriveExists("I:") = true then
objNetwork.RemoveNetworkDrive "I:", true, true
objNetwork.RemoveNetworkDrive "P:", true, true
objNetwork.RemoveNetworkDrive "U:", true, true
Else
objNetwork.MapNetworkDrive "I:", "\\srvwindados001\Setores"
objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"
objNetwork.MapNetworkDrive "U:", "\\srvwindados001\" & objNetwork.UserName
objNetwork.AddWindowsPrinterConnection "\\srvwindados001\hp2200_administrativo"
objNetwork.SetDefaultPrinter "\\srvwindados001\hp2200_administrativo"
End If
Case "RH"
if objFS.DriveExists("I:") = true then
objNetwork.RemoveNetworkDrive "I:", true, true
objNetwork.RemoveNetworkDrive "P:", true, true
objNetwork.RemoveNetworkDrive "U:", true, true
Else
objNetwork.MapNetworkDrive "I:", "\\srvwindados001\Setores"
objNetwork.MapNetworkDrive "P:", "\\srvwindados001\Publico"
objNetwork.MapNetworkDrive "U:", "\\srvwindados001\" & objNetwork.UserName
objNetwork.AddWindowsPrinterConnection "\\srvwindados001\hp2200_rh"
objNetwork.SetDefaultPrinter "\\srvwindados001\hp2200_rh"
End If
End Select
next
Set wshNet = nothing
Set objUser = nothing
Set strGrupo = nothing
Set objFS = Nothing
Set objNetwork = Nothing
WScript.Quit
Ele não executa automaticamente. Só executa manual. Configurei via GPO, mas as máquinas não executam ele. Não sei o que pode ser.
No aguardo de um breve retorno.
Gustavo Gabriel
Respostas
-
Boa tarde Gustavo.
Segue documentação oficial para adicionar script de logon
http://technet.microsoft.com/pt-br/library/cc779490%28v=ws.10%29
Imagem da Direitiva
Lembre que esta diretiva pode ser usada para Usuario ou Computador, veja qual melhor se adequa ao que vc esteja realizando.
Espero ter lhe ajudado.
Enderson Valente Teixeira - Coordenador de Informática
- Marcado como Resposta Wagner dos Santos VasconcellosModerator sexta-feira, 25 de maio de 2012 00:41
-
Tente usar este script aqui:
on error resume next Set WshNetwork = CreateObject("WScript.Network") Set ADSysInfo = CreateObject("ADSystemInfo") Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName) set ofso=createobject("Scripting.filesystemobject") Set oShell = CreateObject("Wscript.shell") Set Sh = Wscript.CreateObject("Wscript.Shell") sysDomain = WshNetwork.UserDomain strComputerName = wshNetwork.ComputerName ' ' Lê os grupos do Usuário strGroups = LCase(CurrentUser.MemberOf) if strGroups = "" then strGroups = LCase(Join(CurrentUser.MemberOf)) End if 'msgbox strGroups ' ' Mapeia unidade padrão a TODOS usuarios da OU ' wshNetwork.MapNetworkDrive "P:", "\\server\Programas" ' ' Conexoes de rede Baseadas em Grupo ' If (InStr(1, strGroups, LCase("cn=processos"), 1) <> 0) Then wshNetwork.MapNetworkDrive "Q:", "\\server\Arquivos" End If If (InStr(1, strGroups, LCase("cn=boletim"), 1) <> 0) Then WSHNetwork.MapNetworkDrive "Z:", "\\server\boletim" End If If (InStr(1, strGroups, LCase("cn=admins"), 1) <> 0) Then WSHNetwork.MapNetworkDrive "Z:", "\\server\Programs" End If ' Conexoes de impressoras Baseadas em Grupo If (InStr(1, strGroups, LCase("cn=PRN-processos"), 1) <> 0) Then WshNetwork.AddWindowsPrinterConnection "\\printserver\PRN-PROC" WshNetwork.SetDefaultPrinter "\\printserver\PRN-PROC" End If If (InStr(1, strGroups, LCase("cn=PRN-Geral"), 1) <> 0) Then WshNetwork.AddWindowsPrinterConnection "\\printserver\PRN-Geral" WshNetwork.SetDefaultPrinter "\\printserver\PRN-Geral" End If WScript.Quit
Adapte ele a suas necessidades aí.
Uso este aqui no trabalho e funciona 100%.
Favor marcar se util.
Até...
Warley
- Marcado como Resposta Wagner dos Santos VasconcellosModerator sexta-feira, 25 de maio de 2012 00:41
Todas as Respostas
-
Boa tarde Gustavo.
Segue documentação oficial para adicionar script de logon
http://technet.microsoft.com/pt-br/library/cc779490%28v=ws.10%29
Imagem da Direitiva
Lembre que esta diretiva pode ser usada para Usuario ou Computador, veja qual melhor se adequa ao que vc esteja realizando.
Espero ter lhe ajudado.
Enderson Valente Teixeira - Coordenador de Informática
- Marcado como Resposta Wagner dos Santos VasconcellosModerator sexta-feira, 25 de maio de 2012 00:41
-
-
Pessoal,
Estou fazendo uns testes, e verifiquei que executando manualmente ele faz os mepaementos na boa... qdo deixo para fazer os mapeamentos automaticos, no logon, ele mostra uma mensagem que coloquei, para debug, a princípio executa o script, porém não mostra as unidades...
estranho nunca passei por issso.
Gustavo Gabriel
-
Tente usar este script aqui:
on error resume next Set WshNetwork = CreateObject("WScript.Network") Set ADSysInfo = CreateObject("ADSystemInfo") Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName) set ofso=createobject("Scripting.filesystemobject") Set oShell = CreateObject("Wscript.shell") Set Sh = Wscript.CreateObject("Wscript.Shell") sysDomain = WshNetwork.UserDomain strComputerName = wshNetwork.ComputerName ' ' Lê os grupos do Usuário strGroups = LCase(CurrentUser.MemberOf) if strGroups = "" then strGroups = LCase(Join(CurrentUser.MemberOf)) End if 'msgbox strGroups ' ' Mapeia unidade padrão a TODOS usuarios da OU ' wshNetwork.MapNetworkDrive "P:", "\\server\Programas" ' ' Conexoes de rede Baseadas em Grupo ' If (InStr(1, strGroups, LCase("cn=processos"), 1) <> 0) Then wshNetwork.MapNetworkDrive "Q:", "\\server\Arquivos" End If If (InStr(1, strGroups, LCase("cn=boletim"), 1) <> 0) Then WSHNetwork.MapNetworkDrive "Z:", "\\server\boletim" End If If (InStr(1, strGroups, LCase("cn=admins"), 1) <> 0) Then WSHNetwork.MapNetworkDrive "Z:", "\\server\Programs" End If ' Conexoes de impressoras Baseadas em Grupo If (InStr(1, strGroups, LCase("cn=PRN-processos"), 1) <> 0) Then WshNetwork.AddWindowsPrinterConnection "\\printserver\PRN-PROC" WshNetwork.SetDefaultPrinter "\\printserver\PRN-PROC" End If If (InStr(1, strGroups, LCase("cn=PRN-Geral"), 1) <> 0) Then WshNetwork.AddWindowsPrinterConnection "\\printserver\PRN-Geral" WshNetwork.SetDefaultPrinter "\\printserver\PRN-Geral" End If WScript.Quit
Adapte ele a suas necessidades aí.
Uso este aqui no trabalho e funciona 100%.
Favor marcar se util.
Até...
Warley
- Marcado como Resposta Wagner dos Santos VasconcellosModerator sexta-feira, 25 de maio de 2012 00:41
-
Bom dia,
Seu script me ajudou muito, porém tem um detalhe. Para alguns usuários ele executa automaticamente, para outros ele executa uma parte, para outros não vai.Para solucionar o problema, paleativo, coloquei manualmente no inicializar de cada máquina que não vai e nas que dão erro.
Se puderem me ajudar, ficarei muito grato.
Obrigado.
Gustavo Gabriel