Planejando atualizações silenciosas de hora em hora da definição do Windows Defender usando o Agendador de Tarefas no Windows 8

8

Quero atualizar as definições do Windows Defender a cada hora e tive a idéia de usar o Agendador de Tarefas para executar o serviço de atualização do Defender com o argumento de atualização de assinatura.

~/Windows Defender/MpCmdRun -SignatureUpdate

Isso funciona muito bem, mas abre uma cmdjanela a cada hora e eu quero executá-la silenciosamente em segundo plano.

Estou ciente do mod do registro que pode ser feito para aumentar a frequência da atualização, mas não quero fazer isso hack repetidamente após atualizações críticas do Defender, após as quais o registro volta às configurações originais.

Não estou muito familiarizado com os argumentos do cmd. Eu sei que alguns executáveis ​​funcionam com o /silentargumento para o lançamento em segundo plano, mas isso não ajuda. O que mais posso tentar ou usar?

Afzal
fonte

Respostas:

5

Use um arquivo VBS em vez de um arquivo CMD e agende-o normalmente com o seu Agendador de tarefas.

O método run do VBScript pode abrir outros programas em uma janela oculta por meio de seu segundo argumento ( , 0). A parte complicada foi a fuga junto com o argumento-SignatureUpdate

set objShell = createobject("wscript.shell")  
objShell.Run("""C:\Program Files\Windows Defender\MpCmdRun.exe"" ""-SignatureUpdate""") , 0

Agora você não verá nenhuma janela durante a atualização do Windows Defender. Somente um processo do gerenciador de tarefas é visível:

insira a descrição da imagem aqui


Outras configurações possíveis para intWindowStyle:

0 = Ocultar a janela e ativar outra janela.
1 = Ative e exiba a janela. (restaurar tamanho e posição).
2 = Ativar e minimizar.
3 = Ativar e maximizar.
4 = Restaurar. A janela ativa permanece ativa.
5 = Ativar e restaurar.
6 = Minimize e ative a próxima janela de nível superior na ordem Z.
7 = Minimizar. A janela ativa permanece ativa.
8 = Exibe a janela em seu estado atual. A janela ativa permanece ativa.
9 = Restaurar e ativar. Especifique esse sinalizador ao restaurar uma janela minimizada.
10 = Define o estado da exibição com base no estado do programa que iniciou o aplicativo.

nixda
fonte
É possível usar um arquivo .lnk em vez de .cmd que teria o argumento para atualizar? Vou mantê-lo em algum lugar como na área de trabalho e usar attrib +r +h +s, para que fique oculto.
Afzal
Ou o .cmd aponta para um .lnk com o argumento de atualização?
Afzal
Interpretei mal o segundo ponto adicional. Foi mal. Para que , 0exatamente?
Afzal 04/02
11
Esse é um argumento para o método de execução do VBS, que define o estilo Window do programa chamado. No nosso caso, uma janela CMD. Dessa forma, o CMD é acionado, mas não aparece na barra de tarefas. Você só pode vê-lo no seu gerenciador de tarefas.
Nixda
11
@sabrefresco Atualizei minha resposta com uma solução melhor. Agora você não precisa de um arquivo CMD. Apenas uma tarefa agendada e esse arquivo VBS.
Nixda
3

Isso funciona muito bem, mas abre uma janela de cmd a cada hora e eu quero executá-la silenciosamente em segundo plano.

Eu sempre uso o agendador de tarefas no MSE e no W8 no Defender, com os parâmetros que você também declara. Para impedir a abertura da janela do cmd, é necessário alterar a conta do usuário, na guia geral do agendador de tarefas, para SYSTEM e marque a caixa alta prioridade.

Agora deve funcionar sem problemas!

IJpie
fonte
2
  1. Em vez de usar %ProgramFiles%\Windows Defender\MpCmdRun.exe -SignatureUpdate, tente
    %ProgramFiles%\Windows Defender\MSASCui.exe -Update.

  2. Se a opção 1 não funcionar, você poderá usar o Início oculto para ocultar a cmdjanela:

Aplicativos de console e arquivos em lote são executados regularmente na inicialização do Windows ou em um agendamento. O principal inconveniente disso é que cada aplicativo abre uma janela do console que pisca na tela. O Hidden Start (ou Hstart ) é um utilitário leve de linha de comando que permite executar aplicativos de console e arquivos em lote sem nenhuma janela em segundo plano, lidar com a elevação de privilégios de UAC no Windows 7 e Vista, iniciar vários comandos em paralelo ou de forma síncrona e muito mais .

1 1

Karan
fonte
ESTÁ BEM. Portanto, a opção 1 exibe as próprias janelas do Defender. Ele atualiza, mas não silenciosamente. A opção 2 é boa para atualizações silenciosas, mas não vejo nada para a frequência das atualizações. Preciso de andatualizações de definição horárias silenciosas ou pelo menos aumentar a frequência das atualizações. Se você sabe como fazer o HStart iniciar um executável específico a cada hora, informe-me, pois não vejo nenhuma opção desse tipo.
Afzal
Não, você precisaria usar o Agendador de tarefas como já está fazendo, mas, em vez de ligar MpCmdRun.exediretamente, ligaria hstart.execom /NoConsolee MpCmdRun.exe -SignatureUpdatecomo os parâmetros (por exemplo htstart.exe /NoConsole ""%ProgramFiles%\Windows Defender\MpCmdRun.exe" -SignatureUpdate").
Karan
OK, entendi. Eu gosto das duas respostas a esta pergunta. Talvez possamos mesclar sua resposta com a anterior para ter duas opções para essa pergunta, com e sem aplicativos de terceiros?
Afzal 04/02
Não funciona dessa maneira IMO. E se alguém aparecer no futuro e postar outra ótima resposta? Nós mesclamos isso também? Qs e Como aqui são destinados a ajudar futuros leitores também, não se esqueça. Entendo que pode ser difícil decidir qual resposta aceitar se você tiver várias possíveis válidas, mas isso é com você. Às vezes, as pessoas apenas votam todos e não aceitam nenhuma resposta específica; às vezes eles apenas escolhem um aleatoriamente. De qualquer forma, você se beneficiou (como esperamos que outros), desde que pessoas diferentes pesam soluções únicas; portanto, não se preocupe.
Karan
1

Atualização agendada a cada hora

schtasks /create /tn "Defender Definition Update" /sc HOURLY /ru SYSTEM /rl HIGHEST /tr "'C:\Program Files\Windows Defender\MpCmdRun.exe' -SignatureUpdate -MMPC"

Remover tarefa agendada

schtasks /delete /tn "Defender Definition Update"
zamiere
fonte
0

Aqui está um aplicativo gratuito que oculta a janela de comando:

insira a descrição da imagem aqui

Programe-o como tal:

cmdNoWnd "C:\Program Files\Windows Defender\MpCmdRun.exe" -SignatureUpdate

Eu o configurei para ser executado a cada hora no Agendador de Tarefas do Windows.

c00000fd
fonte