locked
Script de Inicialização - Execução de Comandos Antes do Logon pelo Usuário RRS feed

  • Pergunta

  • Prezados Senhores,

    Adaptei um scritp que vi em um dos fóruns visando deletar arquivos das pastas  C:\Windows\SoftwareDistribution\Download e C:\Windows\SoftwareDistribution\DataStore antes do logon pelos usuários. 

    É evidente que, depois de certo tempo, muitos arquivos de sobras de atualizações do windows update ficam guardados na primeira pasta citada e isso interfere no desligamento dos computadores na rede, aparecendo para os usuários diariamente a mensagem de atualização de 1/...., causando muita reclamação porque as máquinas levam às vezes até cinco  ou mais minutos para completar o desligamento.

    A solução encontrada é logar com senha de administrador, parar o serviço do windows update, e apagar os conteúdos das supraditas pastas.

    Para evitar o trabalho manual, como disse, fiz a adaptação de um script em VBS que deleta as pastas, só que não estou tendo sucesso em fazê-lo rodar nas estações de trabalho onde os usuários não têm o perfil de administrador.

    O script é o seguinte:

         

    rem on error resume next

    rem este script roda na inicialização das máquinas


    strDataStore= "C:\Windows\SoftwareDistribution\DataStore"

    set FSo = CreateObject("Scripting.FileSystemObject")

    publica1(strDataStore)


    Sub publica1(DataStore)

     set folder = FSO.getFolder(DataStore)

     'Verifica se tem subpastas
     if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       publica1 SubFolder
      next
     end if


     for each file in folder.files
      set objFile = FSO.GetFile(file)
         if DateDiff("d",file.DateLastModified,now) > 3 Then
           File.delete
         end if

     next
    end sub


    '==DELETA ARQUIVO DA PASTA C:\Windows\SoftwareDistribution\Download  =============


    strDownload= "C:\Windows\SoftwareDistribution\Download"

    set FSo = CreateObject("Scripting.FileSystemObject")

    publica2(strDownload)


    Sub publica2(Download)

     set folder = FSO.getFolder(Download)

     'Verifica se tem subpastas
     if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       publica2 SubFolder
      next
     end if

    Como não sou profissional formado em TI tenho limitação em compreender a estrutura do script, que pelo meu conhecimento é votado à objetos.

    Informo ainda que o script de logon está sendo executado dentro do GPEDIT.MSC de cada máquina incluída no domínio local, em configurações do windows\Scripts (inicialização/encerramento) e que ele funciona perfeitamente na minha estação, pois estou cadastrado no grupo de administradores, apesar de no windows server  não ter a permissão de criar ou editar GPO'S.

    Fiquem cavalheiros para indicarem outras soluções, peço apenas que a explicação seja feita de forma bem clara.

    Grato.

    sexta-feira, 20 de maio de 2016 12:38

Respostas

  • Olá.

    Não entendi uma coisa... Você mencionou que o Windows Server não tem permissão de criar ou editar GPO's.

    A mesma estrutura do GPEDIT.MSC da estação é do Servidor na aplicação Gerenciamento de Diretiva de Grupo.

    Como você disse que funciona em sua máquina, o problema deve ser somente na permissão, então uma alternativa é ao invés de usar o GPEDIT, utilize o Agendador de Tarefas para executar o script após o logon e lá é possível adicionar a conta de administrador para que o programa execute com as permissões totais.

    Mas se você tiver o Active Directory no servidor, você pode fazer isso no Gerenciamento de Diretiva de Grupo e automatizar todo o processo sem a necessidade de ir em cada máquina.

    Tutorial via Windows Server - GPO

    http://www.andersonpatricio.org/como-agendar-o-desligamento-dos-computadores-via-gpo/

    Tutorial via Windows

    http://www.tecmundo.com.br/gerenciador-de-tarefas/4840-agende-tarefas-e-deixe-o-windows-7-sincronizar-arquivos-automaticamente.htm 


    Wallison Francisco Gomes |MCP - MCDST - MCTS - MCSA - EXIN Certified Integrator Secure Cloud Services| Caso a informação seja útil, não se esqueça de pontuar!


    sexta-feira, 20 de maio de 2016 13:07
  • No Agendador de tarefas deve dar certo.

    Wallison Francisco Gomes |MCP - MCDST - MCTS - MCSA - EXIN Certified Integrator Secure Cloud Services| Caso a informação seja útil, não se esqueça de pontuar!

    • Marcado como Resposta ARBrasil segunda-feira, 20 de junho de 2016 12:12
    segunda-feira, 23 de maio de 2016 17:15

Todas as Respostas

  • Olá.

    Não entendi uma coisa... Você mencionou que o Windows Server não tem permissão de criar ou editar GPO's.

    A mesma estrutura do GPEDIT.MSC da estação é do Servidor na aplicação Gerenciamento de Diretiva de Grupo.

    Como você disse que funciona em sua máquina, o problema deve ser somente na permissão, então uma alternativa é ao invés de usar o GPEDIT, utilize o Agendador de Tarefas para executar o script após o logon e lá é possível adicionar a conta de administrador para que o programa execute com as permissões totais.

    Mas se você tiver o Active Directory no servidor, você pode fazer isso no Gerenciamento de Diretiva de Grupo e automatizar todo o processo sem a necessidade de ir em cada máquina.

    Tutorial via Windows Server - GPO

    http://www.andersonpatricio.org/como-agendar-o-desligamento-dos-computadores-via-gpo/

    Tutorial via Windows

    http://www.tecmundo.com.br/gerenciador-de-tarefas/4840-agende-tarefas-e-deixe-o-windows-7-sincronizar-arquivos-automaticamente.htm 


    Wallison Francisco Gomes |MCP - MCDST - MCTS - MCSA - EXIN Certified Integrator Secure Cloud Services| Caso a informação seja útil, não se esqueça de pontuar!


    sexta-feira, 20 de maio de 2016 13:07
  • Wallison, bom dia e obrigado.

    O windows server tem o AD instalado, mas minhas permissões de administrador são limitadas, por exemplo: não posso criar GPO'S ou editá-las.

    Mas sua solução do agendador de tarefas parece promissora e vou testá-la, e depois eu posto.

    Valeu

    segunda-feira, 23 de maio de 2016 13:02
  • No Agendador de tarefas deve dar certo.

    Wallison Francisco Gomes |MCP - MCDST - MCTS - MCSA - EXIN Certified Integrator Secure Cloud Services| Caso a informação seja útil, não se esqueça de pontuar!

    • Marcado como Resposta ARBrasil segunda-feira, 20 de junho de 2016 12:12
    segunda-feira, 23 de maio de 2016 17:15