Gostaria de saber se o seguinte funcionará:
echo password | net stop "Service1"
WinXP: Eu tenho vários serviços do sistema que são necessários para executar algumas máquinas no meu laboratório. A máquina em que esses serviços estão em execução usa um login de laboratório que possui direitos de administrador. Nosso departamento de SI, infelizmente, está configurado onde, em algum momento durante a noite, o login "perde" o nível de privilégio para iniciar / interromper esses serviços. A conta permanece conectada, mas o software que controla meu hardware não responde.
Para que as coisas voltem a funcionar, tenho que parar os serviços do sistema e reiniciá-los. Devido às configurações de segurança, no entanto, tenho que digitar novamente a senha do usuário para iniciar o serviço (mesmo que o usuário nunca tenha efetuado logout). Isso, eu recebo o "Este serviço não pode ser iniciado devido a uma falha de logon" e eu tenho que digitar a senha.
O ideal seria ter um script em lote antes que alguém entre no trabalho que interrompa todos os serviços necessários, insira as credenciais do usuário quando solicitado e as reinicie para que tudo esteja pronto para o primeiro turno ser executado. / p>
Assumi que o uso do Agendador de Tarefas no Windows funcionaria, pois permite a execução de arquivos em lote com o nome e a senha de um usuário, mas isso não parecia funcionar. Com essa configuração eu chegaria para descobrir que todos os serviços estão parados, mas não iniciados novamente. (Presumivelmente porque a autenticação falhou.)
O arquivo de lote é o mais simples possível, tudo que eu tenho é:
net stop "Service1"
net stop "Serivce2"
, e reinicie na ordem inversa baseada na dependência:
net start "Service2"
net start "Serivce1"
O que seria necessário para realizar o que estou tentando fazer e reiniciar os serviços?