Usuário com melhor resposta
Script com Vista

Pergunta
-
Olá,
Tenho uma rede com Windows 2003 Server e um domínio e algumas estações XP Pro. O Script de login abaixo é usado para mapeamento e funciona perfeitamente nas estações XP. Esse script fica no Server.
Adicionei uma estação Windows Vista Business e o script não funciona ao efetuar o login. Se rodar o script localmente aí ele funciona.
obs. Todos os software estão em português - Brasil.
Alguma dica. Esse fórum é o melhor local para essa questão?
Carlos César Tanaka
On error resume next
Set wshNetwork = CreateObject("WScript.Network")
wshNetwork.MapNetworkDrive "i:", "\\micro5\i"
wshNetwork.MapNetworkDrive "m:", "\\micro5\d"Set ADSysInfo = CreateObject("ADSystemInfo")
Set CurrentUser = GetObject("LDAP://" & ADSysInfo.UserName)
colGroups = CurrentUser.memberOf
If IsEmpty(colGroups) Then
strGroups = ""
ElseIf TypeName(colGroups) = "String" Then
strGroups = LCase(colGroups)
Else
strGroups = LCase(Join(colGroups))
End IfIf InStr(strGroups, GRP_DIRECAO) Then
wshNetwork.MapNetworkDrive "h:", "\\micro5\h"
wshNetwork.MapNetworkDrive "k:", "\\micro5\k"
wshNetwork.MapNetworkDrive "l:", "\\micro5\l"
wshNetwork.MapNetworkDrive "j:", "\\micro5\j"
ElseIf InStr(strGroups, GRP_MONITORES) ThenwshNetwork.MapNetworkDrive "h:", "\\micro5\h"
wshNetwork.MapNetworkDrive "k:", "\\micro5\k"
wshNetwork.MapNetworkDrive "l:", "\\micro5\l"ElseIf InStr(strGroups, GRP_ALUNOS) Then
wshNetwork.MapNetworkDrive "h:", "\\micro5\h"
wshNetwork.MapNetworkDrive "k:", "\\micro5\k"End if
If InStr(Ucase(WshNetwork.ComputerName), "MICRO4") = 0 then
WshNetwork.AddWindowsPrinterCOnnection "\\micro4\c85"
WshNetwork.SetDefaultPrinter "\\micro4\c85"
end if
Respostas
-
Então vamos lá:
1) O caminho tá correto. Eu mesmo prefiro usar esse tipo (caminhos UNC completos) do que caminhos relativos e colocar todos os scripts na pasta Scripts que fica dentro do Windows. Fica mais fácil de gerenciar. Em todo caso, só pra fazer um teste, copie os scripts pra pasta %SystemRoot%\Sysvol\Sysvol\domainname\Scripts e coloque na GPO somente o nome do arquivo .VBS pra testar.
2) Há uma diretiva que configura como é feito o carregamento dos scripts de logon. Verifique se a opção Allow processing across a slow network connection está marcada. As instruções completas estão nesse link:
http://www.mydigitallife.info/2006/09/13/group-policy-login-or-logon-scripts-not-running-not-working-or-not-executing/
Teste e depois diga o que aconteceu...
[]s,
Vinicius Canto
MVP Scripting -
Olá,
infelizmente, esse problema tá se tornando grande demais. Fazia tempo que eu não via thread sem resposta plausível por mais de 9 posts... =)
Pelo que eu comecei a ler, o problema tá no Vista. Tem mais gente com o mesmo problema, e com algumas soluções temporárias:
http://www.developersdex.com/asp/message.asp?p=593&r=5431945&page=2
Eu optaria por desativar o UAC e tomar o cuidado de não deixar nenhum usuário com poderes de admin local. O problema tá nas permissões do Script...
Para testar, faça isso:
1) Teste o seu script normalmente, como você tinha configurado inicialmente. A única mudança é colocar essa linha na primeira linha do teu script
msgbox "Teste"
Se aparecer a mensagem, sabemos que o script tá sendo executado, mas é o Vista que tá barrando o resto dos comandos dele (o que se enquadra no link que eu passei)
2) Teste depois desativar o UAC e logar normalmente com um usuário comum.
Vou pegar meu cd do vista e instalar ele numa VM aqui em casa pra testar também...
[]s,
--
Vinicius Canto <scripterbr_at_gmail_dot_com>
MVP Visual Developer - Scripting
MCP Windows 2000 Server, Windows XP e SQL Server 2000
Blog sobre Scripting: http://viniciuscanto.blogspot.com -
Verifiquei o thread de discussão no link você indicou e aquela é realmente a situação que estou enfrentando.
Realmente é inexplicável como um bug desse tipo passou pelo lançamento do Windows Vista.
De fato usuário que não pertencem ao grupo administrativo fazem logon e o script funciona corretamente. Somente os administradores têm esse problema.
Vou aguardar por uma correção no Windows Vista, por enquanto essa questão fica em aberto.
Agradeço o esforço Vinicius.
Todas as Respostas
-
Olá,
vou responder rapidamente...
1) É sim. É exatamente essa a finalidade desse fórum.
2) Retire a primeira linha, o On Error Resume Next (que serve justamente pra ocultar todas as mensagens de erro, ignorando-as), execute manualmente o script após o logon e veja as mensagens que aparecem. Depois, mande aqui pra gente... fica mais fácil do que testar teu script num ambiente totalmente diferente.
[]s,
Vinicius Canto -
Olá Vinícius,
Retirei a linha com o comando On Error Resume Next e obtive o seguinte:
- O script de inicialização indicado pelas GPO continuam não fucnionando com Windows Vista Business. Não há mensagens de erro.
- Nas estações com XP Professional o script funciona e não há mensagens de erro.
- Executando o script localmente na máquina com Vista ele funciona e também não há mensagem de erro.
Creio que o script está correto. Deve haver algo entre o Vista e o Windows 2003 Server.
Carlos César Tanaka
-
Olá, desculpe pela demora
Tenho uma dúvida: o caminho que você colocou na GPO era um caminho relativo, no servidor, ou um caminho UNC?
[]s,
--
Vinicius Canto <scripterbr_at_gmail_dot_com>
MVP Visual Developer - Scripting
MCP Windows 2000 Server, Windows XP e SQL Server 2000
Blog sobre Scripting: http://viniciuscanto.blogspot.com -
-
Então vamos lá:
1) O caminho tá correto. Eu mesmo prefiro usar esse tipo (caminhos UNC completos) do que caminhos relativos e colocar todos os scripts na pasta Scripts que fica dentro do Windows. Fica mais fácil de gerenciar. Em todo caso, só pra fazer um teste, copie os scripts pra pasta %SystemRoot%\Sysvol\Sysvol\domainname\Scripts e coloque na GPO somente o nome do arquivo .VBS pra testar.
2) Há uma diretiva que configura como é feito o carregamento dos scripts de logon. Verifique se a opção Allow processing across a slow network connection está marcada. As instruções completas estão nesse link:
http://www.mydigitallife.info/2006/09/13/group-policy-login-or-logon-scripts-not-running-not-working-or-not-executing/
Teste e depois diga o que aconteceu...
[]s,
Vinicius Canto
MVP Scripting -
-
Realmente, não é um problema no script em si. Tente também, só por desencargo de consciência, colocar
wscript <nome do vbs>
na caixa script de logon ou mesmo criar um bat com uma linha que chame o VBS e coloque na GPO...
Ainda estou pesquisando pra escobrir o que pode estar acontecendo.
[]s,
Vinicius Canto <scripterbr_at_gmail_dot_com>
MVP Visual Developer - Scripting
MCP Windows 2000 Server, Windows XP e SQL Server 2000
Blog sobre scripting: http://viniciuscanto.blogspot.com -
Olá Vinicius,
Tentei essa última forma e não funcionou. Fui no perfil de um usuário e coloquei
wscript c:\caminho\mapeamento.vbs
Fiz o logon na máquina e não funcionou (só nessa máquina, as outras com XP funcionaram).
Estou pensando em reinstalar esse Windows Vista, só estou dando um tempo porque a máquina tem todo meu ambiente de desenvolvimento.
Grato.
-
Olá,
infelizmente, esse problema tá se tornando grande demais. Fazia tempo que eu não via thread sem resposta plausível por mais de 9 posts... =)
Pelo que eu comecei a ler, o problema tá no Vista. Tem mais gente com o mesmo problema, e com algumas soluções temporárias:
http://www.developersdex.com/asp/message.asp?p=593&r=5431945&page=2
Eu optaria por desativar o UAC e tomar o cuidado de não deixar nenhum usuário com poderes de admin local. O problema tá nas permissões do Script...
Para testar, faça isso:
1) Teste o seu script normalmente, como você tinha configurado inicialmente. A única mudança é colocar essa linha na primeira linha do teu script
msgbox "Teste"
Se aparecer a mensagem, sabemos que o script tá sendo executado, mas é o Vista que tá barrando o resto dos comandos dele (o que se enquadra no link que eu passei)
2) Teste depois desativar o UAC e logar normalmente com um usuário comum.
Vou pegar meu cd do vista e instalar ele numa VM aqui em casa pra testar também...
[]s,
--
Vinicius Canto <scripterbr_at_gmail_dot_com>
MVP Visual Developer - Scripting
MCP Windows 2000 Server, Windows XP e SQL Server 2000
Blog sobre Scripting: http://viniciuscanto.blogspot.com -
-
Verifiquei o thread de discussão no link você indicou e aquela é realmente a situação que estou enfrentando.
Realmente é inexplicável como um bug desse tipo passou pelo lançamento do Windows Vista.
De fato usuário que não pertencem ao grupo administrativo fazem logon e o script funciona corretamente. Somente os administradores têm esse problema.
Vou aguardar por uma correção no Windows Vista, por enquanto essa questão fica em aberto.
Agradeço o esforço Vinicius.
-
Vinicius
Ola
Gostaria de saber se ja existe alguma solução para este problema, pois estou enfrentando o mesmo problema, sendo que quando rodo o script manualmente por um atalho ele funciona mas no script de login nao, ponho mensagem ela aparece mas nao mapeia nem pasta nem impressora, mas depois do vista totalmete carregado se eu executar o script ele finciona e roda normal
Grato
Jose Luiz
-
Boa Tarde,
Jose,
Seguinte tenho o mesmo cenario na empresa aqui, e as unidades são mapeadas normalmente, unica coisa que reparei foi que o no windows vista, não estava resolvendo os nomes da rede (DNS) faz o teste pinga seu servidor (ping servidor) tem que responder da seguinte maneira
resposta de servidor.dominio
Acho que pode ajudar.
Manuel