การจัดกำหนดการอัพเดตคำจำกัดความของ Windows Defender แบบไม่โต้ตอบทุกชั่วโมงโดยใช้ Task Scheduler บน Windows 8


8

ฉันต้องการอัปเดตคำจำกัดความของ Windows Defender ทุกชั่วโมงและเกิดความคิดในการใช้ Task Scheduler เพื่อดำเนินการบริการอัปเดต Defender ด้วยอาร์กิวเมนต์อัปเดตลายเซ็น

~/Windows Defender/MpCmdRun -SignatureUpdate

มันใช้งานได้ดี แต่เปิดcmdหน้าต่างทุกชั่วโมงและฉันต้องการเรียกใช้มันในพื้นหลังอย่างเงียบ ๆ

ฉันรับรู้ถึงการลงทะเบียนตัวดัดแปลงที่สามารถทำได้เพื่อเพิ่มความถี่ในการอัปเดต แต่ไม่ต้องการแฮ็คซ้ำแล้วซ้ำอีกหลังจากการอัปเดต Defender ที่สำคัญหลังจากที่รีจิสตรีกลับไปสู่การตั้งค่าดั้งเดิม

ฉันไม่คุ้นเคยกับการโต้แย้ง cmd ฉันรู้ว่าบางโปรแกรมทำงานได้กับการ/silentโต้เถียงสำหรับพื้นหลังเปิดตัว แต่มันไม่ได้ช่วย ฉันจะลองหรือใช้อะไรได้อีก

คำตอบ:


5

ใช้ไฟล์VBSแทนไฟล์ CMD และกำหนดเวลาตามปกติด้วย Task Scheduler ของคุณ

วิธีการเรียกใช้ของ VBScript สามารถเปิดโปรแกรมอื่น ๆ ในหน้าต่างที่ซ่อนอยู่ผ่านอาร์กิวเมนต์ที่สอง ( , 0) ส่วนที่ยุ่งยากคือการหลบหนีพร้อมกับการโต้แย้ง-SignatureUpdate

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

ตอนนี้คุณจะไม่เห็นหน้าต่างใด ๆ ในระหว่างการอัปเดต Windows Defender เฉพาะกระบวนการจัดการงานเท่านั้นที่มองเห็นได้:

ป้อนคำอธิบายรูปภาพที่นี่


การตั้งค่าอื่น ๆ ที่เป็นไปได้สำหรับ intWindowStyle:

0 = ซ่อนหน้าต่างและเปิดใช้งานหน้าต่างอื่น
1 = เปิดใช้งานและแสดงหน้าต่าง (กู้คืนขนาดและตำแหน่ง)
2 = เปิดใช้งานและย่อขนาด
3 = เปิดใช้งานและขยายให้ใหญ่สุด
4 = กู้คืน หน้าต่างที่ใช้งานอยู่จะยังคงทำงานอยู่
5 = เปิดใช้งานและเรียกคืน
6 = ย่อเล็กสุด & เปิดใช้งานหน้าต่างระดับบนสุดถัดไปในลำดับ Z
7 = ย่อเล็กสุด หน้าต่างที่ใช้งานอยู่จะยังคงทำงานอยู่
8 = แสดงหน้าต่างในสถานะปัจจุบัน หน้าต่างที่ใช้งานอยู่จะยังคงทำงานอยู่
9 = กู้คืน & เปิดใช้งาน ระบุการตั้งค่าสถานะนี้เมื่อคืนค่าหน้าต่างย่อเล็กสุด
10 = ตั้งค่า show-state ตามสถานะของโปรแกรมที่เริ่มต้นแอปพลิเคชัน


เป็นไปได้ไหมที่จะใช้ไฟล์. lnk แทน. cmd ซึ่งจะมีข้อโต้แย้งในการอัพเดท? ฉันจะเก็บมันไว้ที่ใดที่หนึ่งบนเดสก์ท็อปและใช้งานattrib +r +h +sเพื่อไม่ให้ถูกซ่อน
Afzal

หรือ. cmd ชี้ไปที่. lnk พร้อมอาร์กิวเมนต์สำหรับการอัปเดต
Afzal

ฉันตีความผิดจุดที่สองเพิ่มเติม ความผิดฉันเอง. มีไว้, 0เพื่ออะไร
Afzal

1
นั่นคืออาร์กิวเมนต์ของวิธีการเรียกใช้ VBS ซึ่งกำหนดรูปแบบหน้าต่างของโปรแกรมที่เรียกว่า ในกรณีของเราหน้าต่าง CMD ด้วยวิธีนี้ CMD จะเริ่มทำงาน แต่จะไม่ปรากฏในทาสก์บาร์ของคุณ คุณเห็นได้ในตัวจัดการงานของคุณเท่านั้น
nixda

1
@sabrefresco ฉันได้อัพเดตคำตอบของฉันด้วยวิธีแก้ปัญหาที่ดีกว่า ตอนนี้คุณไม่จำเป็นต้องใช้ไฟล์ CMD เลย เพียงแค่งานที่กำหนดเวลาไว้และไฟล์ VBS นั้น
nixda

3

มันใช้งานได้ดี แต่เปิดหน้าต่าง cmd ทุกชั่วโมงและฉันต้องการเรียกใช้มันในพื้นหลังอย่างเงียบ ๆ

ฉันมักจะใช้ task scheduler ใน MSE และใน W8 บน Defender โดยมีพารามิเตอร์ที่คุณระบุไว้ด้วย เพื่อป้องกันไม่ให้หน้าต่าง cmd เปิดคุณต้องเปลี่ยนบัญชีผู้ใช้บนแท็บทั่วไปในตัวกำหนดตารางงานเป็นระบบและทำเครื่องหมายในกล่องที่มีลำดับความสำคัญสูง

ตอนนี้มันควรทำงานได้อย่างราบรื่น!


2
  1. แทนที่จะใช้%ProgramFiles%\Windows Defender\MpCmdRun.exe -SignatureUpdateให้ลอง
    %ProgramFiles%\Windows Defender\MSASCui.exe -Updateแทน

  2. หากตัวเลือก 1 ไม่ทำงานคุณสามารถใช้การเริ่มต้นที่ซ่อนเพื่อซ่อนcmdหน้าต่าง:

แอปพลิเคชั่นของคอนโซลและไฟล์แบตช์จะทำงานเป็นประจำเมื่อเริ่มต้น Windows หรือตามกำหนดเวลา ความไม่สะดวกหลักของเรื่องนี้คือแต่ละแอปพลิเคชันจะเปิดหน้าต่างคอนโซลที่กะพริบบนหน้าจอ Hidden Start (หรือHstart ) เป็นโปรแกรมอรรถประโยชน์บรรทัดคำสั่งที่มีน้ำหนักเบาซึ่งช่วยให้คุณเรียกใช้แอปพลิเคชั่นคอนโซลและไฟล์แบตช์โดยไม่มีหน้าต่างใด ๆ ในพื้นหลังจัดการสิทธิ์ยกระดับสิทธิ์ UAC ภายใต้ Windows 7 และ Vista .

1


ตกลง. ดังนั้นตัวเลือก 1 จะเปิดหน้าต่าง Defender ขึ้นมา มันปรับปรุง แต่ไม่เงียบ ตัวเลือกที่ 2 นั้นดีสำหรับการอัปเดตแบบเงียบ แต่ฉันไม่เห็นอะไรเลยสำหรับความถี่ของการอัปเดต ฉันต้องการandการอัปเดตคำจำกัดความเงียบรายชั่วโมงหรืออย่างน้อยเพิ่มความถี่ของการอัปเดต หากคุณรู้วิธีที่จะทำให้ HStart เปิดตัวปฏิบัติการเฉพาะทุกชั่วโมงหรือมากกว่านั้นโปรดแจ้งให้เราทราบเนื่องจากฉันไม่เห็นตัวเลือกใด ๆ
Afzal

ไม่คุณต้องใช้ตัวกำหนดเวลางานตามที่คุณทำอยู่ แต่แทนที่จะโทรMpCmdRun.exeโดยตรงคุณจะโทรหาhstart.exeด้วย/NoConsoleและMpCmdRun.exe -SignatureUpdateเป็นพารามิเตอร์แทน (เช่นhtstart.exe /NoConsole ""%ProgramFiles%\Windows Defender\MpCmdRun.exe" -SignatureUpdate")
Karan

ตกลงเข้าใจแล้ว ฉันชอบคำตอบทั้งคู่สำหรับคำถามนี้ เราอาจรวมคำตอบของคุณกับคำตอบก่อนหน้าเพื่อมีสองตัวเลือกสำหรับคำถามนี้โดยมีและไม่มีแอปของบุคคลที่สามหรือไม่
Afzal

มันไม่ทำงานอย่างนั้น IMO จะเป็นอย่างไรถ้ามีคนอื่นเข้ามาในอนาคตและโพสต์คำตอบที่ยอดเยี่ยมอีก เรารวมมันด้วยหรือไม่ ถาม - ตอบและที่นี่มีไว้เพื่อช่วยเหลือผู้อ่านในอนาคตเช่นกันอย่าลืม ฉันเข้าใจว่าอาจเป็นเรื่องยากที่จะตัดสินใจเลือกคำตอบที่จะยอมรับหากคุณมีคำตอบที่ถูกต้องหลายข้อ แต่ขึ้นอยู่กับคุณ บางครั้งผู้คนก็ถอนรากถอนโคนทั้งหมดและไม่ยอมรับคำตอบเฉพาะใด ๆ บางครั้งพวกเขาก็เลือกสุ่ม ไม่ว่าในกรณีใดก็ตามคุณได้รับประโยชน์ (อย่างหวังว่าจะเป็นอย่างอื่น) เนื่องจากคุณมีคนต่าง ๆ ที่ชั่งน้ำหนักด้วยโซลูชันที่ไม่เหมือนใครดังนั้นอย่ากังวลไป
Karan

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"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.