none
Criar Script de Logon para mapear pastas de usuários Windows Server 2008 R2 RRS feed

  • Pergunta

  • Bom dia!

    Gostaria de uma ajuda de vocês pois sou meio novo nesse mundo de scripts.

    Estou criando pastas para cada usuário com cotas de 200MB. 

    Agora quero criar um script para quando ele logar na maquina fazer este mapeamento, lembrando que a ideia seria por exemplo:

    User1 = Mapeamento na letra P:

    User2 = Mapeamento na letra P:

    Todos os usuários teriam a mesma letra de mapeamento, a questão é, teria que fazer um script de logon para cada usuário ou consigo fazer um único script para 2 ou mais usuários? 

    Obrigado.


    • Editado Ricardo.Hinça quinta-feira, 18 de setembro de 2014 13:44 Faltou qual sistema operacional se tratava
    quinta-feira, 18 de setembro de 2014 13:20

Respostas

  • Bom dia Ricardo,

    Tem muitas opções para fazer.

    Vou te dar um exemplo. Usando Bat

    net use P: \\ip_do_seu_Servidor\Pasta_Compartilhada

    Por exemplo: 

    net use P: \\10.10.0.3\dados$\

    Se vc vai fazer isto dentro do servidor coloque o script dentro da pasta Sysvol, ou netlogon

    tanto faz

    E em Usuários e computadores do AD vai no nome do usuário propriedades e em logon coloque o nome do script.cmd ou script.bat, tanto faz

    Uma dica muito útil, é vc colocar uma opção para o script esvaziar a conexão e depois reconecta-la, isto garante a estabilidade da conexão.

    Exemplo:

    @ echo off

    color a

    mode 100,50

    net use P: /delete /yes

    net use P: \\hostname, ou ip do servidor\Pasta_a_ser_Compartilhada

    Você pode enviar uma mensagem para o usuário tb.

    msg * /time 2 %username% Tenha um bom trabalho! 

    Obs: msg é um comando que chama um box na tela, quando vc define o /time e um valor depois vc está dizendo que depois daquele tempo ela deve fechar sozinho.

    Tem muito mais por ai..

    Qualquer coisa...

    há, para funcionar para cada usuário basta vc colocar um script com nome diferente para cada usuário, e chama-los no Usuários e computadores no AD.

    quinta-feira, 18 de setembro de 2014 18:58
  • Ricardo,

    Exatamente, use a pasta com o mesmo nome do Login.

    Digamos que você tenha o compartilhamento \\servidor\share, e dentro deste compartilhamento uma pasta para cada usuário cada uma com o nome do login.

    Para mapear via .BAT bastaria isso:

    net use X:\ \\servidor\share\%username%

    A váriavel username vai ter o valor do nome de usuário que estiver logando então você não precisa fazer um script para cada usuário.

    Dá pra fazer no VBSript também, dá uma olhada no link que passei anteriormente.


    Fábio de Paula Junior

    quinta-feira, 18 de setembro de 2014 20:27
    Moderador

Todas as Respostas

  • Ricardo,

    Isso é simples mas depende de como você montou a estrutura de diretórios, um exemplo muito bom seria esse:

    \PastaRaiz
        \User1
        \User2

    As pastas do usuário devem ter o nome do usuário.

    Com um único script você consegue pegar o nome do usuário que está rodando o script, então basta concatenar este nome com o compartilhamento na hora de fazer o mapeamento.

    Ref.:

    Introduction to Map Network Drive - UserName

    http://www.computerperformance.co.uk/Logon/Logon_HomeDirAdv.htm



    Fábio de Paula Junior

    quinta-feira, 18 de setembro de 2014 13:52
    Moderador
  • Voce diz pra utilizar o mesmo nome que ele usa pra fazer o loguin na rede isto? 

    vou tentar aqui, obrigado por enquanto

    quinta-feira, 18 de setembro de 2014 17:33
  • Boa tarde Ricardo.

    Veja se essa opção lhe ajuda

    http://infsite.org/site/script-para-mapear-e-criar-pastas-de-usuario-no-servidor-de-dados-ad-ao-fazer-logon-no-dominio/

    Espero ter ajudado.

    Se útil, por favor classifique


    João Carlos Xavier de Macedo Specialist Platforms Microsoft MCP,MCT,MCSA,MCTS,MCITP, ENTERPRISE VIRTUALIZATION WINDOWS SERVER 2008 R2,MCSE WINDOWS SERVER 2012

    quinta-feira, 18 de setembro de 2014 18:03
  • Bom dia Ricardo,

    Tem muitas opções para fazer.

    Vou te dar um exemplo. Usando Bat

    net use P: \\ip_do_seu_Servidor\Pasta_Compartilhada

    Por exemplo: 

    net use P: \\10.10.0.3\dados$\

    Se vc vai fazer isto dentro do servidor coloque o script dentro da pasta Sysvol, ou netlogon

    tanto faz

    E em Usuários e computadores do AD vai no nome do usuário propriedades e em logon coloque o nome do script.cmd ou script.bat, tanto faz

    Uma dica muito útil, é vc colocar uma opção para o script esvaziar a conexão e depois reconecta-la, isto garante a estabilidade da conexão.

    Exemplo:

    @ echo off

    color a

    mode 100,50

    net use P: /delete /yes

    net use P: \\hostname, ou ip do servidor\Pasta_a_ser_Compartilhada

    Você pode enviar uma mensagem para o usuário tb.

    msg * /time 2 %username% Tenha um bom trabalho! 

    Obs: msg é um comando que chama um box na tela, quando vc define o /time e um valor depois vc está dizendo que depois daquele tempo ela deve fechar sozinho.

    Tem muito mais por ai..

    Qualquer coisa...

    há, para funcionar para cada usuário basta vc colocar um script com nome diferente para cada usuário, e chama-los no Usuários e computadores no AD.

    quinta-feira, 18 de setembro de 2014 18:58
  • Ricardo,

    Exatamente, use a pasta com o mesmo nome do Login.

    Digamos que você tenha o compartilhamento \\servidor\share, e dentro deste compartilhamento uma pasta para cada usuário cada uma com o nome do login.

    Para mapear via .BAT bastaria isso:

    net use X:\ \\servidor\share\%username%

    A váriavel username vai ter o valor do nome de usuário que estiver logando então você não precisa fazer um script para cada usuário.

    Dá pra fazer no VBSript também, dá uma olhada no link que passei anteriormente.


    Fábio de Paula Junior

    quinta-feira, 18 de setembro de 2014 20:27
    Moderador
  • Pois é de usuario por usuario ja fiz kkkk 

    Queria ver se rolava um script apenas para todos os users da rede. 


    sexta-feira, 19 de setembro de 2014 11:19
  • Pois é estou fazendo uns testes ai com o modelo que voce me passou :D 
    sexta-feira, 19 de setembro de 2014 11:20
  • Ricardo uma das vantagens de vc ter um script por usuário é que vc pode criar grupos no AD e atribuir lá as permissões. Além disto em cada script vc vai colocar apenas as pastas que o usuário terá acesso. Assim ele não terá nunca acesso indevido, pois as restrições ficam no grupo que vc "deve criar". Isto lhe garante um serviço mais seguro e profissional.
    sexta-feira, 19 de setembro de 2014 12:58
  • Fabio Jr.

    Procurei por alguns dias e testei alguns comando, nesta dica que você apontou, conseguiria agendar a mensagem para o final do expediente, por exemplo o mesmo pop-up as 16:55, agradecendo o trabalho do dia e avisando para desligar o pc corretamente?

    Fico no aguardo


    • Editado Robson-Luis quarta-feira, 1 de fevereiro de 2017 13:39
    quarta-feira, 1 de fevereiro de 2017 13:33
  • Bom dia Fabio Jr.

    Bom basta usar o agendador de tarefas, e seguindo a linha de raciocínio de script bat...

    no script que vc já fez, adicione a seguinte linha:

    schtasks /create /sc daily /tn msg /tr c:\pasta\arquivo.cmd /st 16:55

    Explicando:

    Cria uma tarefa agendada "msg" (é o nome do agendamento) para executar o script que vc criou para a hora..16:55.

    Se vc quiser tb pode adicionar o parametro /k apos a hora para indicar que essa rotina se repita todos os dias.

    Vale a pena consultar o help do prompt, lá vc vai encontrar muito mais tutoriais,

    basta digitar help e dar enter, se quiser que o conteudo exibido no prompt saia para um bloco de notas por exemplo, digite help>nome_do_arquivo.txt

    pronto, tudo o que vc quiser pesquisar estará lá.

    Se tiver mais alguma questão, terei prazer em ajudar.

    Espero que seja útil.

    quinta-feira, 2 de fevereiro de 2017 11:27