Ir ao conteúdo
  • Cadastre-se

Por que o script de logon não executa?


ZackFairS

Posts recomendados

Bom dia galera. Tudo bem?

 

Estou com um probleminha onde eu criei uma GPO de logon do usuário no windows server 2008 r2 e essa GPO mostra como aplicada no usuário em questão pelo gpresult /r.

Mas vejo que ele não está executando o arquivo .bat especificado na GPO. Alguém sabe dizer o por que?

Se eu executo o arquivo .bat manualmente, ele funciona corretamente como deve funcionar.

Sei que não está executando por que no código eu coloco para criar uma pasta e quando o usuário inicia, ao verificar esta pasta, ela não existe.

 

Segue configuração e código do .bat em questão:

 

Config.: Configuração do Usuário > Diretivas > Configurações do Windows > Scripts > Logon

 

Cód. arquivo .bat:

c:
cd c:\Users\%USERNAME%\Documents
md certificados

x:
cd x:\TI\Importacao-Certificados

copy /y * c:\Users\%USERNAME%\Documents\certificados

c:
cd c:\Users\%USERNAME%\Documents\certificados

start certificado.bat

timeout /t 1 /nobreak

 

Link para o comentário
Compartilhar em outros sites

a bat esta em uma pasta compartilhada onde o usuario tem acesso?

 

você ve o cmd abrindo ou na barra de tarefas quando a pessoa faz o logon?

 

coloca no final um @pause  dessa forma a tela da bat não ira fechar.

 

faz um outro teste no servidor coloca a bat na pasta netlogon...... iniciar, executar \\nome do servidor quando abrir vai na netlogon

 

feito isso, abre o AD, clica no usuario que esta testando, vai na guia perfil e em script de logon coloca apenas o nome da ba: exemplo teste.bat

 

faca logoff e logue novamente

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, thiago.jj disse:

a bat esta em uma pasta compartilhada onde o usuario tem acesso?

Sim... Está em um local onde todos tem acesso.

 

1 hora atrás, thiago.jj disse:

você ve o cmd abrindo ou na barra de tarefas quando a pessoa faz o logon?

 

coloca no final um @pause  dessa forma a tela da bat não ira fechar.

Vejo não. Não aparece nem rápido abrindo e fechando. Mesmo com o @pause ou pause, não aparece.

 

1 hora atrás, thiago.jj disse:

faz um outro teste no servidor coloca a bat na pasta netlogon...... iniciar, executar \\nome do servidor quando abrir vai na netlogon

 

feito isso, abre o AD, clica no usuario que esta testando, vai na guia perfil e em script de logon coloca apenas o nome da ba: exemplo teste.bat

 

faca logoff e logue novamente

Fiz esse teste também e não funcionou.

 

Parece que o server não quer implementar os arquivos. Mas os arquivos funcionam perfeitamente. Vai entender...

 

 

EDIT: Então, fiz o teste aqui e coloquei o arquivo .bat na pasta SYSVOL (não entendo do assunto, se não puder colocar nesta pasta, por favor, me digam para eu retirar) e parece que ele está executando o arquivo agora.

 

O problema é que ele está "modificando" o código fazendo com que ele dê um erro.

Em todo o caminho que contém no código com "c:\Users\...", ele está fazendo assim "c:\Users\C:\Users\...".

O cmd abre com este erro e ele coloca essa duplicidade ai e diz que o caminho está incorreto. Já conferi no código pra ver se realmente está duplicado, e não está.

Link para o comentário
Compartilhar em outros sites

tenta assim

 

tive que dar espaco onde esta c : senao ele trocava por simbolo, so tirar o espaco em 2 linhas

 

cd\

c :
cd c:\Users\%USERNAME%\Documents
md certificados

xcopy \\ip-servidor\TI\Importacao-Certificados\*.* c:\Users\%USERNAME%\Documents\certificados /y

cd\

c :
cd c:\Users\%USERNAME%\Documents\certificados
start certificado.bat

Link para o comentário
Compartilhar em outros sites

Primeiramente, não me parece razoável copiar arquivos já existentes na pasta do usuário a cada logon, nem repetir os mesmos arquivos nas pastas de cada usuário. Isso poderia ser feito através de GPO, que copiaria para uma pasta pública somente os arquivos que não existem ou foram modificados, deixando para o script de logon somente a execução do arquivo. Ou então, mais simples ainda, poderia executar o arquivo de lote diretamente a partir da localização remota:

start X:\TI\Importacao-Certificados\certificado.bat

 

Se puder, evite caminhos absolutos:

start \\[IP ou FQDN]\TI\Importacao-Certificados\certificado.bat

 

De toda forma, se realmente quer fazer do jeito que planejou, experimente o código abaixo:

xcopy /Y /I \\[IP ou FQDN]\TI\Importacao-Certificados\*.* %USERPROFILE%\Documents\certificados
start %USERPROFILE%\Documents\certificados\certificado.bat

 

Apenas para conhecimento, observe que não é necessário executar comandos para alterar a pasta atual antes de executar um comando que faça referência a outra pasta. O seu código original possui seis linhas completamente desnecessárias (desconsiderando as linhas em branco, seriam as linhas 1, 2, 4, 5, 7 e 8).

Link para o comentário
Compartilhar em outros sites

Bom dia,

 

No caso a GPO está sendo aplicada nas configurações do usuario ou do computador pois se o usuario não é administrador do computador muitas vezes não roda mesmo pois falta a permissão. Se voce editar a GPO e fizer ela ser executada via computador possivelmente funcione. Caso não saiba me avise que coloco os prints do caminho.

Link para o comentário
Compartilhar em outros sites

Em 16/01/2023 às 15:45, thiago.jj disse:

tenta assim

 

tive que dar espaco onde esta c : senao ele trocava por simbolo, so tirar o espaco em 2 linhas

 

cd\

c :
cd c:\Users\%USERNAME%\Documents
md certificados

xcopy \\ip-servidor\TI\Importacao-Certificados\*.* c:\Users\%USERNAME%\Documents\certificados /y

cd\

c :
cd c:\Users\%USERNAME%\Documents\certificados
start certificado.bat

@thiago.jj Não funciona desta maneira também.

 

Em 18/01/2023 às 10:17, apresenta problemas Laza disse:

Primeiramente, não me parece razoável copiar arquivos já existentes na pasta do usuário a cada logon, nem repetir os mesmos arquivos nas pastas de cada usuário. Isso poderia ser feito através de GPO, que copiaria para uma pasta pública somente os arquivos que não existem ou foram modificados, deixando para o script de logon somente a execução do arquivo. Ou então, mais simples ainda, poderia executar o arquivo de lote diretamente a partir da localização remota:

start X:\TI\Importacao-Certificados\certificado.bat

 

Se puder, evite caminhos absolutos:

start \\[IP ou FQDN]\TI\Importacao-Certificados\certificado.bat

 

De toda forma, se realmente quer fazer do jeito que planejou, experimente o código abaixo:

xcopy /Y /I \\[IP ou FQDN]\TI\Importacao-Certificados\*.* %USERPROFILE%\Documents\certificados
start %USERPROFILE%\Documents\certificados\certificado.bat

 

Apenas para conhecimento, observe que não é necessário executar comandos para alterar a pasta atual antes de executar um comando que faça referência a outra pasta. O seu código original possui seis linhas completamente desnecessárias (desconsiderando as linhas em branco, seriam as linhas 1, 2, 4, 5, 7 e 8).

@apresenta problemas Laza Entendi. Irei tentar desta maneira que diz executando o arquivo diretamente do local de origem e ver como ele se comporta.

 

7 horas atrás, Hercilio Junior disse:

Bom dia,

 

No caso a GPO está sendo aplicada nas configurações do usuario ou do computador pois se o usuario não é administrador do computador muitas vezes não roda mesmo pois falta a permissão. Se voce editar a GPO e fizer ela ser executada via computador possivelmente funcione. Caso não saiba me avise que coloco os prints do caminho.

@Hercilio Junior Nos primeiros testes, antes de terminar de montar o script, tentei na GPO aplicada nas configurações do computador. Mas como não funcionou de primeiro momento, achei que poderia ser de estar no local incorreto e configurei nas configurações do usuário e fiquei nele até o momento.

 

Nos testes que eu for fazer agora, irei tentar nas 2 para ter certeza.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Todos os testes acima foram feitos e nenhum funciona. Mas uma coisa que eu testei também e reparei, foi que mesmo criando um script besta só com um echo e um timeout /t 2 /nobreak só pra ver abrindo o prompt no usuário, também não funciona. Isso me deixou com uma dúvida.

Será que tem algum bloqueio para não estar executando algum .bat? Existe isso no windows server?

 

Por que está muito estranho. O script funciona, mas parece que ele nem é executado ao logar-se com o usuário.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!