Планирование почасовых обновлений определений Защитника Windows с помощью планировщика заданий в Windows 8

8

Я хочу обновлять определения Защитника Windows каждый час, и мне пришла в голову идея использовать планировщик задач для запуска службы обновления Защитника с аргументом обновления подписи.

~/Windows Defender/MpCmdRun -SignatureUpdate

Это работает довольно хорошо, но cmdкаждый час открывает окно, и я хочу запустить его в фоновом режиме.

Мне известно о моде реестра, который можно использовать для увеличения частоты обновлений, но я не хочу снова и снова делать этот хак после критических обновлений Защитника, после чего реестр возвращается к исходным настройкам.

Я не очень знаком с аргументами cmd. Я знаю, что некоторые исполняемые файлы работают с /silentаргументом для фонового запуска, но это не помогает. Что еще я могу попробовать или использовать?

Afzal
источник

Ответы:

5

Используйте файл VBS вместо файла CMD и запланируйте его как обычно с вашим планировщиком задач.

Метод run VBScript может открывать другие программы в скрытом окне через свой второй аргумент ( , 0). Сложной частью было побег вместе с аргументом-SignatureUpdate

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

Теперь вы не увидите никаких окон во время обновления Защитника Windows. Виден только процесс диспетчера задач:

введите описание изображения здесь


Другие возможные настройки для intWindowStyle:

0 = Скрыть окно и активировать другое окно.
1 = активировать и отобразить окно. (восстановить размер и положение).
2 = Активировать и свернуть.
3 = Активировать и развернуть.
4 = Восстановить. Активное окно остается активным.
5 = Активировать и восстановить.
6 = свернуть и активировать следующее окно верхнего уровня в Z-порядке.
7 = свернуть. Активное окно остается активным.
8 = Показать окно в его текущем состоянии. Активное окно остается активным.
9 = восстановить и активировать. Укажите этот флаг при восстановлении свернутого окна.
10 = Устанавливает состояние показа на основе состояния программы, которая запустила приложение.

nixda
источник
Можно ли использовать файл .lnk вместо .cmd, который будет иметь аргумент для обновления? Я сохраню это где-то, как на рабочем столе, и буду использовать attrib +r +h +s, чтобы оно оставалось скрытым.
Афзал
Или .cmd указывает на .lnk с аргументом для обновления?
Афзал
Я неправильно истолковал 2-й дополнительный пункт. Виноват. Для чего , 0именно?
Афзал
1
Это аргумент метода запуска VBS, который определяет стиль окна вызываемой программы. В нашем случае окно CMD. Таким образом, CMD запускается, но не будет отображаться на панели задач. Вы можете видеть это только в вашем диспетчере задач.
nixda
1
@sabrefresco Я обновил свой ответ с лучшим решением. Теперь вам не нужен файл CMD вообще. Просто запланированное задание и тот файл VBS.
13
3

Это работает довольно хорошо, но открывает окно cmd каждый час, и я хочу запустить его в фоновом режиме.

Я всегда использую планировщик задач на MSE и в W8 на Defender, с параметрами, которые вы также указали. Чтобы предотвратить открытие окна cmd, необходимо изменить учетную запись пользователя на вкладке «Общие» в планировщике задач на «SYSTEM» и установить флажок «высокий приоритет».

Теперь все должно работать без сбоев!

IJpie
источник
2
  1. Вместо того, чтобы использовать %ProgramFiles%\Windows Defender\MpCmdRun.exe -SignatureUpdate, попробуйте
    %ProgramFiles%\Windows Defender\MSASCui.exe -Updateвместо этого.

  2. Если опция 1 не работает, вы можете использовать скрытый старт, чтобы скрыть cmdокно:

Консольные приложения и командные файлы регулярно запускаются при запуске Windows или по расписанию. Основным неудобством этого является то, что каждое приложение открывает консольное окно, которое мерцает на экране. Скрытый запуск (или Hstart ) - это облегченная утилита командной строки, которая позволяет запускать консольные приложения и пакетные файлы без какого-либо окна в фоновом режиме, обрабатывать повышение привилегий UAC в Windows 7 и Vista, запускать несколько команд параллельно или синхронно и многое другое. ,

1

Каран
источник
ХОРОШО. Таким образом, вариант 1 вызывает сами окна Защитника. Обновляется, но не тихо. Вариант 2 хорош для тихих обновлений, но я не вижу ничего для частоты обновлений. Мне нужно как молчаливое andпочасовое обновление определений, так и хотя бы увеличение частоты обновлений. Если вы знаете, как заставить HStart запускать определенный исполняемый файл каждый час или около того, пожалуйста, дайте мне знать, так как я не вижу никаких вариантов такого рода.
Афзал
Нет, вам нужно было бы использовать планировщик задач, как вы уже это делаете, но вместо того, чтобы звонить MpCmdRun.exeнапрямую, вы должны вызывать hstart.exeвместо этого /NoConsoleи MpCmdRun.exe -SignatureUpdateв качестве параметров (то есть htstart.exe /NoConsole ""%ProgramFiles%\Windows Defender\MpCmdRun.exe" -SignatureUpdate").
Каран
Хорошо понял. Мне нравятся оба ответа на этот вопрос. Можем ли мы объединить ваш ответ с предыдущим, чтобы получить два варианта ответа на этот вопрос, с приложениями сторонних производителей и без них?
Афзал
Это не работает таким образом, ИМО. Что, если кто-то еще придет в будущем и отправит другой отличный ответ? Мы объединяем это также? Вопросы и ответы здесь также предназначены для помощи будущим читателям, не забывайте. Я понимаю, что может быть трудно решить, какой ответ принять, если у вас есть несколько возможных действительных ответов, но это зависит от вас. Иногда люди просто высказывают свое мнение и не принимают никакого конкретного ответа; иногда они просто выбирают один наугад. В любом случае вы извлекли выгоду (как мы надеемся, что другие), поскольку у вас есть разные люди, которые оценивают с уникальными решениями, так что не беспокойтесь об этом.
Каран
1

Почасовое обновление по расписанию

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

Удалить запланированное задание

schtasks /delete /tn "Defender Definition Update"
zamiere
источник
0

Вот бесплатное приложение, которое будет скрывать окно команд:

введите описание изображения здесь

Запланируйте это так:

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

Я настроил его запускать каждый час в Windows Task Scheduler.

C00000FD
источник