Programar actualizaciones silenciosas de definiciones de Windows Defender por hora utilizando el Programador de tareas en Windows 8

8

Quiero actualizar las definiciones de Windows Defender cada hora y se me ocurrió la idea de usar el Programador de tareas para ejecutar el servicio de actualización de Defender con el argumento de actualización de firma.

~/Windows Defender/MpCmdRun -SignatureUpdate

Esto funciona bastante bien, pero abre una cmdventana cada hora y quiero ejecutarlo en silencio en segundo plano.

Soy consciente del mod de registro que se puede hacer para aumentar la frecuencia de actualización, pero no quiero hacer ese hack una y otra vez después de las actualizaciones críticas de Defender, después de lo cual el registro vuelve a la configuración original.

No estoy muy familiarizado con los argumentos de cmd. Sé que algunos ejecutables funcionan con el /silentargumento para el lanzamiento en segundo plano, pero no ayuda. ¿Qué más puedo probar o usar?

Afzal
fuente

Respuestas:

5

Use un archivo VBS en lugar de un archivo CMD y prográmelo como de costumbre con su Programador de tareas.

El método de ejecución de VBScript puede abrir otros programas en una ventana oculta a través de su segundo argumento ( , 0). La parte difícil fue escapar junto con el argumento.-SignatureUpdate

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

Ahora no verá ninguna ventana durante la actualización de Windows Defender. Solo un proceso del administrador de tareas es visible:

ingrese la descripción de la imagen aquí


Otras configuraciones posibles para intWindowStyle:

0 = Ocultar la ventana y activar otra ventana.
1 = Activar y mostrar la ventana. (restaurar tamaño y posición).
2 = Activar y minimizar.
3 = Activar y maximizar.
4 = Restaurar. La ventana activa permanece activa.
5 = Activar y restaurar.
6 = Minimiza y activa la siguiente ventana de nivel superior en el orden Z.
7 = Minimizar. La ventana activa permanece activa.
8 = Mostrar la ventana en su estado actual. La ventana activa permanece activa.
9 = Restaurar y activar. Especifique este indicador cuando restaure una ventana minimizada.
10 = Establece el estado del show en función del estado del programa que inició la aplicación.

nixda
fuente
¿Es posible usar un archivo .lnk en lugar de .cmd que tendría el argumento para actualizar? Lo guardaré en algún lugar como en el Escritorio y lo usaré attrib +r +h +s, para que permanezca oculto.
Afzal
¿O el .cmd apunta a un .lnk con el argumento para actualizar?
Afzal
Interpreté mal el segundo punto adicional. Culpa mía. ¿Para qué es , 0exactamente?
Afzal
1
Ese es un argumento para el método de ejecución VBS que define el estilo de ventana del programa llamado. En nuestro caso, una ventana CMD. De esta manera, el CMD se dispara pero no aparece en la barra de tareas. Solo puede verlo en su administrador de tareas.
nixda
1
@sabrefresco Actualicé mi respuesta con una mejor solución. Ahora no necesita un archivo CMD en absoluto. Solo una tarea programada y ese archivo VBS.
nixda
3

Esto funciona bastante bien, pero abre una ventana de cmd cada hora y quiero ejecutarlo silenciosamente en segundo plano.

Siempre uso el programador de tareas en MSE y en W8 en Defender, con los parámetros que también estableces. Para evitar que se abra la ventana de cmd, debe cambiar la cuenta de usuario, en la pestaña general del programador de tareas, a SISTEMA y marcar la casilla de alta prioridad.

¡Ahora debería funcionar sin problemas!

IJpie
fuente
2
  1. En lugar de usar %ProgramFiles%\Windows Defender\MpCmdRun.exe -SignatureUpdate, intente en su
    %ProgramFiles%\Windows Defender\MSASCui.exe -Updatelugar.

  2. Si la opción 1 no funciona, puede usar Hidden Start para ocultar la cmdventana:

Las aplicaciones de consola y los archivos por lotes se ejecutan regularmente al inicio de Windows o en un horario. El principal inconveniente de esto es que cada aplicación abre una ventana de consola que parpadea en la pantalla. Hidden Start (o Hstart ) es una utilidad de línea de comandos liviana que le permite ejecutar aplicaciones de consola y archivos por lotes sin ninguna ventana en segundo plano, manejar la elevación de privilegios UAC en Windows 7 y Vista, iniciar múltiples comandos en paralelo o sincrónicamente, y mucho más .

1

Karan
fuente
OKAY. Entonces, la opción 1 muestra las ventanas de Defender. Se actualiza pero no en silencio. La opción 2 es buena para las actualizaciones silenciosas, pero no veo nada para la frecuencia de las actualizaciones. Necesito andactualizaciones silenciosas de definición por hora, o al menos aumentar la frecuencia de las actualizaciones. Si sabe cómo hacer que HStart inicie un ejecutable en particular cada hora más o menos, avíseme, ya que no veo ninguna opción de ese tipo.
Afzal
No, necesitaría usar el Programador de tareas como ya lo está haciendo, pero en lugar de llamar MpCmdRun.exedirectamente, llamaría en su hstart.exelugar con /NoConsoley MpCmdRun.exe -SignatureUpdatecomo los parámetros (es decir htstart.exe /NoConsole ""%ProgramFiles%\Windows Defender\MpCmdRun.exe" -SignatureUpdate").
Karan
Ok lo tengo. Me gustan las dos respuestas a esta pregunta. ¿Podemos combinar su respuesta con la anterior para tener dos opciones para esta pregunta, con y sin aplicaciones de terceros?
Afzal
No funciona de esa manera IMO. ¿Qué pasa si alguien más viene en el futuro y publica otra gran respuesta? ¿Fusionamos eso también? Las preguntas y respuestas aquí están destinadas a ayudar a los futuros lectores también, no lo olvides. Entiendo que puede ser difícil decidir qué respuesta aceptar si tiene varias posibles válidas, pero eso depende de usted. A veces la gente simplemente vota a todos y no acepta ninguna respuesta específica; a veces simplemente eligen uno al azar. En cualquier caso, se ha beneficiado (como es de esperar, otros) ya que tiene diferentes personas que sopesan soluciones únicas, así que no se preocupe.
Karan
1

Actualización programada por hora

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

Eliminar tarea programada

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

Aquí hay una aplicación gratuita que ocultará la ventana de comandos:

ingrese la descripción de la imagen aquí

Programarlo como tal:

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

Lo configuré para ejecutarse cada hora en el Programador de tareas de Windows.

c00000fd
fuente