Planowanie cichych godzinnych aktualizacji definicji Windows Defender za pomocą Harmonogramu zadań w systemie Windows 8

8

Chcę aktualizować definicje Windows Defender co godzinę i wpadłem na pomysł użycia Harmonogramu zadań do uruchomienia usługi aktualizacji Defender z argumentem aktualizacji podpisu.

~/Windows Defender/MpCmdRun -SignatureUpdate

Działa to całkiem nieźle, ale cmdco godzinę otwiera okno i chcę je cicho uruchamiać w tle.

Zdaję sobie sprawę z modu rejestru, który można zrobić, aby zwiększyć częstotliwość aktualizacji, ale nie chcę robić tego hakowania po krytycznych aktualizacjach Defender, po których rejestr wraca do pierwotnych ustawień.

Nie znam się dobrze na argumentach cmd. Wiem, że niektóre pliki wykonywalne działają z /silentargumentem uruchamiania w tle, ale to nie pomaga. Czego jeszcze mogę spróbować lub użyć?

Afzal
źródło

Odpowiedzi:

5

Użyj pliku VBS zamiast pliku CMD i zaplanuj jak zwykle w Harmonogramie zadań.

Metoda uruchamiania VBScript może otwierać inne programy w ukrytym oknie za pomocą drugiego argumentu ( , 0). Najtrudniejszą częścią było ucieczka wraz z kłótnią-SignatureUpdate

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

Teraz nie zobaczysz żadnego okna podczas aktualizacji Windows Defender. Widoczny jest tylko proces menedżera zadań:

wprowadź opis zdjęcia tutaj


Inne możliwe ustawienia intWindowStyle:

0 = Ukryj okno i aktywuj kolejne okno.
1 = Aktywuj i wyświetl okno. (przywróć rozmiar i pozycję).
2 = Aktywuj i minimalizuj.
3 = Aktywuj i zmaksymalizuj.
4 = Przywróć. Aktywne okno pozostaje aktywne.
5 = Aktywuj i przywróć.
6 = Zminimalizuj i aktywuj następne okno najwyższego poziomu w kolejności Z.
7 = Minimalizuj. Aktywne okno pozostaje aktywne.
8 = Wyświetl okno w jego bieżącym stanie. Aktywne okno pozostaje aktywne.
9 = Przywróć i aktywuj. Określ tę flagę podczas przywracania zminimalizowanego okna.
10 = Ustawia stan pokazu na podstawie stanu programu, który uruchomił aplikację.

nixda
źródło
Czy zamiast pliku .cmd można użyć pliku .lnk, który miałby argument za aktualizacją? Zatrzymam to gdzieś na pulpicie i użyję attrib +r +h +s, aby pozostało ukryte.
Afzal,
Lub .cmd wskazuje plik .lnk z argumentem aktualizacji?
Afzal
Źle zinterpretowałem drugi dodatkowy punkt. Mój błąd. Po co , 0dokładnie?
Afzal,
1
To argument w metodzie uruchamiania VBS, która określa styl okna wywoływanego programu. W naszym przypadku okno CMD. W ten sposób CMD jest uruchamiany, ale nie pojawia się na pasku zadań. Widać to tylko w menedżerze zadań.
nixda
1
@sabrefresco Zaktualizowałem swoją odpowiedź lepszym rozwiązaniem. Teraz w ogóle nie potrzebujesz pliku CMD. Tylko zaplanowane zadanie i ten plik VBS.
nixda
3

Działa to całkiem nieźle, ale co godzinę otwiera okno cmd i chcę je cicho uruchamiać w tle.

Zawsze używam harmonogramu zadań na MSE i W8 na Defender, z parametrami, które również podajesz. Aby zapobiec otwarciu okna cmd, musisz zmienić konto użytkownika, na karcie ogólnej w harmonogramie zadań, na SYSTEM i zaznaczyć pole o wysokim priorytecie.

Teraz powinno działać płynnie!

IJpie
źródło
2
  1. Zamiast używać %ProgramFiles%\Windows Defender\MpCmdRun.exe -SignatureUpdate, spróbuj
    %ProgramFiles%\Windows Defender\MSASCui.exe -Updatezamiast tego.

  2. Jeśli opcja 1 nie działa, możesz użyć Ukrytego Startu, aby ukryć cmdokno:

Aplikacje konsolowe i pliki wsadowe są regularnie uruchamiane podczas uruchamiania systemu Windows lub zgodnie z harmonogramem. Główną niedogodnością tego jest to, że każda aplikacja otwiera okno konsoli, które migocze na ekranie. Hidden Start (lub Hstart ) to lekkie narzędzie wiersza poleceń, które pozwala uruchamiać aplikacje konsoli i pliki wsadowe bez żadnego okna w tle, obsługiwać podniesienie uprawnień UAC w Windows 7 i Vista, uruchamiać wiele poleceń równolegle lub synchronicznie i wiele więcej .

1

Karan
źródło
OK. Tak więc opcja 1 wywołuje okna Defender. Aktualizuje się, ale nie po cichu. Opcja 2 jest dobra dla cichych aktualizacji, ale nie widzę nic dla częstotliwości aktualizacji. Potrzebuję zarówno cichych andaktualizacji definicji co godzinę, jak i przynajmniej zwiększenia częstotliwości aktualizacji. Jeśli wiesz, jak ustawić uruchamianie przez HStart określonego pliku wykonywalnego co godzinę, daj mi znać, ponieważ nie widzę żadnych tego rodzaju opcji.
Afzal
Nie, musisz używać Harmonogramu zadań tak, jak już to robisz, ale zamiast dzwonić MpCmdRun.exebezpośrednio, dzwonisz hstart.exeza pomocą /NoConsolei MpCmdRun.exe -SignatureUpdatejako parametry (tj htstart.exe /NoConsole ""%ProgramFiles%\Windows Defender\MpCmdRun.exe" -SignatureUpdate".).
Karan
Ok, rozumiem. Lubię obie odpowiedzi na to pytanie. Czy możemy połączyć twoją odpowiedź z poprzednią, aby uzyskać dwie opcje na to pytanie, z aplikacjami innych firm i bez nich?
Afzal,
To nie działa w ten sposób IMO. Co się stanie, jeśli ktoś inny przyjdzie w przyszłości i opublikuje kolejną świetną odpowiedź? Czy my też to scalamy? Pytania i odpowiedzi mają pomóc przyszłym czytelnikom, nie zapomnij. Rozumiem, że może być trudno zdecydować, którą odpowiedź zaakceptować, jeśli masz wiele możliwych prawidłowych, ale to zależy od ciebie. Czasami ludzie po prostu głosują na wszystkich i nie akceptują żadnej konkretnej odpowiedzi; czasami po prostu wybierają jeden losowo. W każdym razie skorzystałeś (jak mam nadzieję inni), ponieważ masz różne osoby ważące się unikalnymi rozwiązaniami, więc nie martw się o to.
Karan
1

Cogodzinna zaplanowana aktualizacja

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

Usuń zaplanowane zadanie

schtasks /delete /tn "Defender Definition Update"
zamiere
źródło
0

Oto darmowa aplikacja , która ukryje okno poleceń:

wprowadź opis zdjęcia tutaj

Zaplanuj to w ten sposób:

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

Skonfigurowałem go tak, aby uruchamiał się co godzinę w Harmonogramie zadań systemu Windows.

c00000fd
źródło