Criei um arquivo em lotes ( EnableDisable.bat) que desabilitará um trabalho do Agendador de Tarefas do Windows ( ) em um sistema local, se um trabalho com o mesmo nome ( ) já estiver ativado e em execução em outro sistema remoto.SampleJobSampleJob
Parece que quando o trabalho é configurado com a Run whether user is logged on or notopção marcada, Run with Highest privilegesele simplesmente não funciona e o motivo é difícil de determinar e não tenho certeza de como solucionar o problema.
Arquivo em lote
for /f "tokens=1" %%j in ('schtasks /Query /S [servername] /TN "SampleJob" /NH ^| findstr "Ready ^| Running"') do schtasks /Change /Disable /TN "%%j"
Nota: O sistema remoto é referido como [
servername] e será substituído pelo nome real do servidor remoto, quando necessário.
Configurações de trabalho do Agendador de tarefas do Windows
- Este arquivo em lotes está configurado como um trabalho do Agendador de Tarefas do Windows
- Nome :
EnableDisableJob - Opção de segurança :
Run whether user is logged on or notRun with Highest privileges
- Nome :
Observações
Se eu executar o trabalho com o, Run only when user is logged onele parece funcionar muito bem sem nenhum problema. No entanto, parece que quando tento executá-lo com a outra opção, e como essa conta não está conectada, ela não pode ser executada quando for o caso.
Questão
Como solucionar esse tipo de problema e por onde devo começar o processo?