Usuário com melhor resposta
Criar Script de Logon para mapear pastas de usuários Windows Server 2008 R2

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
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.
- Marcado como Resposta Fábio JrModerator terça-feira, 23 de setembro de 2014 19:57
-
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
- Marcado como Resposta Fábio JrModerator terça-feira, 23 de setembro de 2014 19:58
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
-
-
Boa tarde Ricardo.
Veja se essa opção lhe ajuda
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
-
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.
- Marcado como Resposta Fábio JrModerator terça-feira, 23 de setembro de 2014 19:57
-
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
- Marcado como Resposta Fábio JrModerator terça-feira, 23 de setembro de 2014 19:58
-
-
-
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.
-
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
-
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.