quinta-feira, 18 de abril de 2013

Adicionando usuários em computadores windows usando linha de comando (DOS)

Fala galera...

Eu já tinha esse texto pronto e preparado para "postar" aqui no blog, mas por algum motivo ficou só como rascunho.

Antes de tudo quero dizer que não sou contra o Windows. Ele é um grande sistema operacional e possui grandes facilidades. Outra, é praticamente impossível (ou muito difícil) encontrar uma rede (empresa ou órgão) que possui todos os computares utilizando Linux.

Então vai ai uma dica legal para administradores que usam o Windows.

Você já precisou criar vários usuários em uma estação windows? Bom não sei você, mas eu já, e no meu caso, os usuários eram numerados assim: usuario1, usuario2, usuario3... e assim por diante. E pior, eu tinha que criar mais de 100 (cem) usuários.

Existe um comando via DOS que ajuda a criar um usuário local na maquina. O comando é esse:

net user fulano 123456 /add

Esse comando adiciona o usuário "fulano" na estação local e atribui a senha "123456" a ele. Muito simples e rápido.

Mas no meu caso eram mais de 100 usuários. Eu teria que digitar o comando 100 vezes? Não. Pesquisei um pouco e achei esse site aqui que me deu uma luz bem legal.

Utilizando o comando "for", agente pode passar um variável para o nome do usuário. Assumindo que as senhas de todos os usuários é a mesma, o comando completo ficaria assim:

for /L %variavel IN (1,1,100) do net user user"%variavel" senha-do-user /add

Vou explicar: A primeira parte do comando, "for /L %variavel IN (1,1,100) do", server criar um loop que vai de 1 até 100, com "passo" 1.

Vou explicar melhor:

O texto circulado (1,1,100) comanda o loop. O primeiro numero indica o valor inicial. O segundo numero indica o passo que será dado a partir do valor inicial. E o terceiro numero, indica o valor final (ultimo número).

Em outras palavras o parâmetro (1,1,100) pode ser "traduzido" assim: (numero-inicial, adiciona, limite). O parâmetro utilizado ajusta o valor da %variavel de acordo, começando em 1 e adicionado +1 até chegar em 100.

Em outras palavras ele vai adicionar os usuários userXX onde XX é o valor da %variavel.

Ao executar esse comando o sistema ira criar os usuários user1 até user100 (se você for administrador da estação, é claro).

Existe outra forma de usar esse comando. Se seus usuário não forem numerados todos iguais. Então você pode alterar o comando um pouco e ao invés de passar o parâmetro em números, passar um arquivo txt.

Crie um arquivo txt e coloque os nomes dos usuários um por linha.

Ex:
maria.mma
jose.jja
joao.jca
fulando1
usuario30

Basta mudar o /L para /F e colocar entre parêntesis o nome do arquivo txt (lembrando que no DOS, você deve executar o comando na mesma pasta onde o arquivo foi criado, ou colocar o caminho completo do arquivo)

O comando ficaria assim:
for /F %variavel IN (users.txt) do net "%variavel" /add senha-do-usuario

Desta forma o comando irá criar os usuários de acordo com o arquivo txt.

Legal!!!! Agora se os usuário não possuírem a mesma senha, complicou.

Abração a todos,
Mad2ogs

5 comentários:

  1. Poderia colocar um exmplo? pois tentei fazer a configuração, mas essa parte da variavel dar errado. vlww

    ResponderExcluir
    Respostas
    1. Bom, digamos que você queira adicionar 10 usuários num computador. (aluno1, aluno2, aluno3...). A senha é a mesma para todos, "123123". Neste caso, o comando ficaria assim:

      for /L %variavel IN (1,1,10) do net user aluno"%variavel" 123123 /add

      Excluir
    2. haa agora fiz e deu certo!! Muito obrigado Thiago!!

      Excluir
  2. Como seria para criar um script usando esse comando? Pois, por exemplo, queria criar vários usuários para vendas, ti e suporte...?

    ResponderExcluir
    Respostas
    1. Bom, ai vai depender de como vc vai usar ou executar isso. Mas daria para simplesmente colocar num "arquivo.bat" e executar de dentro do windows mesmo. Dê uma pesquisada sobre sintaxe de script "bat" ou se preferir pode usar tambem VB Script.

      Abraços

      Excluir