Como faço para definir uma tarefa agendada do Windows para ser executada em segundo plano? [fechadas]

149

Alguém sabe como definir uma tarefa agendada para ser executada em segundo plano usando o Agendador de Tarefas do Windows?
Parece não haver nenhuma opção para fazer isso.

Samuel Liew
fonte
Aqui eu tentei compilar todas as maneiras possíveis para iniciar um processo oculto no Windows sem ferramentas externas. Incluindo um script que agende uma tarefa.
Npocmaka
@npocmaka - link morto - em algum lugar repost favor como Q & A / Wiki
Alex S
1
@AlexS - check this one
npocmaka
1
Talvez ajude alguém: howtogeek.com/tips/…
X-factor
Se você estiver executando o script do PowerShell, eis a solução superuser.com/a/1038142/106079
BBK 26/18

Respostas:

216

Conforme observado por Mattias Nordqvist nos comentários abaixo, você também pode selecionar a opção do botão de opção "Executar se o usuário estiver conectado ou não" . Ao salvar a tarefa, você será solicitado uma vez a senha do usuário. A bambams observou que isso não concederia permissões do sistema ao processo e também parece ocultar a janela de comando.


Não é uma solução óbvia, mas para executar uma tarefa agendada em segundo plano, altere o usuário que está executando a tarefa para " SISTEMA " e nada aparecerá na tela.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Samuel Liew
fonte
53
Então, basicamente é »ou vejo algo na minha tela ou o aplicativo ultrapassa os privilégios de administrador«? Não soa muito bom ...
Joey
12
+1 Resolvido meu problema, obrigado! Mas por que a conta de usuário que está sendo usada tem algo a ver com a visibilidade da janela e por que a caixa de seleção "Oculto", que parece que deveria fazer isso, não faz nada?
Joshua Frank
13
Sim, embora essa seja uma boa dica, é uma péssima solução. A tarefa acaba sendo executada com privilégios do sistema, pode causar danos intencional ou não. Se acessar a Internet, alguém poderá comprometer o seu sistema. Ele é executado com um perfil de usuário diferente, então% USERPROFILE% será resolvido para um local diferente. Ele não verá seus documentos (a menos que você codifique os caminhos). Os arquivos criados podem ser inacessíveis para você (a menos que você também mude para administrador).
mesmo
16
Caso alguém mais se depare com isso. Encontrei esta solução no serverfault, que não requer privilégios de escalada. serverfault.com/questions/9038/…
bronsoja 13/01
34
Existe outra maneira de fazer isso com outro efeito colateral possivelmente mais aceitável. Marque a caixa de seleção "Executar se o usuário estiver conectado ou não". Isso executará o programa em segundo plano. Você precisará fornecer a senha do usuário uma vez ao clicar em ok.
Mattias Nordqvist
10

Supondo que o aplicativo que você está tentando executar em segundo plano seja baseado em CLI, tente chamar os trabalhos agendados usando Início oculto

Consulte também: http://www.howtogeek.com/howto/windows/hide-flashing-command-line-and-batch-file-windows-on-startup/

Jay Sidri
fonte
3
Não há necessidade de baixar um novo programa, o Windows já vem com um. É chamado #start /b
BlueRaja # Danny Pflughoeft
6
O problema starté que esse comando não é um programa, portanto você não pode usá-lo no Agendador de Tarefas.
Erik Kaplun
3
cmd.exe /c startfaz o truque para comandos que não são programas.
hypersw
25
@hypersw ... que, por sua vez, leva a um prompt de comando mostrando enquanto a tarefa está em execução. :) #
26413 Camille
3
@hypersw, Cammille está correto, o sistema ainda cria uma janela de console para o cmdprocesso e o startcomando, então você ainda acaba com uma janela de console que, no mínimo, pisca por um momento. Ele apenas adia o problema (e adiciona um nível extra e desnecessário de abstração ao problema.
Synetech 2/15