Muitas empresas estão querendo que todas suas estações de trabalho sejam desligadas em um horário específico, para evitar o desperdício de energia.
Como podemos fazer isso?
Não, por favor, não diga que agendará em cada máquina, pois numa rede com 100 estações isso seria terrível de gerenciar.
Existe outra forma? Sim, confira abaixo.
Crie um arquivo .BAT ou .CMD com a linha abaixo, como seu único conteúdo e agende a execução dele para um minuto antes do horário desejado.
FOR /L %i in (2,1,254) DO shutdown /s /f /t 60 /m ''192.168.0.%i /d p:2:18
Esta linha de comando acima faz o truque para nós. Mas agora vejamos como ela funciona.
Primeiro estabelecemos um loop com o comando FOR:
FOR /L variável (início, progresso,fim) DO comando com parâmetros
A variável deve iniciar por "%" e no parêntese definimos a faixa de variação. No exemplo acima definimos que o loop ocorrerá entre os números 2 e 254, com uma evolução de um em um (2,3,4,5,6,...).
Feito o loop só precisamos inserir a variável dele no comando e está tudo pronto.
No comando shutdown utilizamos os seguintes parâmetros:
/s: desligar
/f: forçar, ou seja, não salvar trabalhas abertos, simplesmente desligar
/t 60: aguardar 60 segundos para executar o comando
/m ''192.168.0.%i: aqui ocorre o nosso loop, passando por todos os IPs da faixa explicada acima
/d p:2:18: aqui informamos o motivo do desligamento para que fique registrado