Wednesday, November 25, 2009

Programar um BATCH para desligar o PC (Caso 3, desligar os PC's em rede)


Nos casos 1 e 2 deste post em continuação centrei tudo para um único PC! Agora vamos ver como desligar PC's em rede (aproveite bem, ó Ében!!!).
Ok, o problema é quase sempre o mesmo, mas agora, eu quero ao mesmo tempo desligar os PC's da minha rede sem ter que passar em cada um a cantar a mesma ladainha, START->SHUTDOWN->SHUTDOWN, imagine-se uma sala de Computação por exemplo com até 20 ou mais computadores!!!! Isto poderá ser feito em um clique apenas. Considero o mesmo nome usado para o file do problema anterior, file.bat (pode-se ler os dois posts anteriores a este para melhor compreensão).
Para melhor percepção, vamos começar por ver como desligar um PC apenas na rede. Deve ser conhecido o nome do tal PC a vitimar!!! O comando é (pode ser digitado directamente no Prompt sem precisar de criar o batch file, criamos o batch pelo facto de termos que repetir sempre a mesma operação, ou então termos que executá-lo como tarefa agendada, etc, etc):
::::::::::::::::::::::::::::::::::::::
shutdown -s -m//nome_do_computador_a_desligar
::::::::::::::::::::::::::::::::::::::
O parâmetro novo -m indica ao sistema que iremos desligar um certo PC, e, neste caso (nome_do_computador_a_desligar).

Agora, querendo desligar todos os PC's o script fica para:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@eco off
net view > list
for /f "eol=; tokens=1* delims=, " %%i in (list) do shutdown -m %%i -s
del list
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Salva-se este file sempre com a extensão .bat, ao fazer duplo clique neste file, o script é executado e, praticamente acontece a mesma coisa que acontecia no caso explicado anteriormente, porém, aqui o comando NET VIEW visualiza todos os computadores da rede, e com o FOR, se cria um ciclo que adiciona cada nome do PC na lista, o qual vem desligado, até que a lista não termine!
Certamente que há muitas optimizações que se podem fazer, por exemplo evitar desligar o SERVER! Note-se que este script serve também para desligar um único PC, sem que esteja necessariamente na rede...descubra porquê!!?
E agora?? Eu estou em casa (sou hipoteticamente um administrador de rede), tenho acesso à rede do meu posto de trabalho (remotamente), e descubro que nem todos os PC's foram desligados...posso desligá-los de casa?? The answer is yes! Há porém uns passos a mais a dar, pois neste caso terei que executar um procedimento remotamente.

3 comments:

departamento de portugues-Unisaf said...

oi addy gostei da iniciativa, muito mais porque ja é de coisas serias e nao para postar apenas fotos...
abraço

Aderito Magumane said...

Coisas sérias....hahaha!!! Então o meu próximo post vai ser de umas piadas...para baixar um pouco a tensão!!!

departamento de portugues-Unisaf said...

hihihi... vou ser teu seguidor, vou postar umas coisas erradas e tu vais corrigir, só nao sei de que... se nao for de informatica vai ser de economia...hihi