6 Task Scheduler และ PowerShell อัตโนมัติที่ฉันใช้ซึ่งทำให้ Windows รักษาตัวเอง

/th/images/dsc06948.jpg

ฉันมีความทรงจำที่แย่ ซึ่งเป็นสาเหตุที่ฉันคิดว่า Windows Task Scheduler ไม่ได้รับการจดจำเพียงพอที่จะจำเรียกใช้งานให้ฉัน เนื่องจากมันสามารถเรียกใช้โปรแกรมได้ทุกประเภท รวมถึง Windows PowerShell ที่ทรงพลัง Task Scheduler จึงเป็นเครื่องมือที่ยอดเยี่ยมในการรักษาระบบของคุณให้อยู่ในสภาพดีเยี่ยม สำหรับฉัน นี่เป็นก้าวแรกสู่โลกแห่งการทำงานอัตโนมัติและการเขียนสคริปต์ PowerShell ต่อไปนี้คือบางวิธีที่ฉันตั้งค่ารูทีนการบำรุงรักษา Windows 11

การตั้งค่า PowerShell และ Task Scheduler

/th/images/xda-task-scheduler-main-interface.png สำหรับงานส่วนใหญ่ในคู่มือนี้ เรากังวลมากที่สุดเกี่ยวกับฟิลด์ “โปรแกรม/สคริปต์” และ “ฟิลด์เพิ่มอาร์กิวเมนต์” เมื่อสร้างการดำเนินการ โดยส่วนใหญ่ “โปรแกรม/สคริปต์” ถูกตั้งค่าให้เปิด “powershell.exe” สำหรับคำสั่งที่ซับซ้อนมากขึ้น เราจำเป็นต้องเขียนสคริปต์ PowerShell ก่อนที่ระบบจะสามารถทำงานได้ เราจะต้องรันคำสั่งนี้ใน PowerShell ก่อน:


Set-ExecutionPolicy RemoteSigned -Scope CurrentUser  

ซึ่งช่วยให้บัญชีที่ลงชื่อเข้าใช้ในปัจจุบันสามารถเรียกใช้สคริปต์ที่สร้างขึ้นในเครื่องโดยไม่มีลายเซ็นดิจิทัล

ฉันยังเก็บงานที่กำหนดเองไว้ในโฟลเดอร์ใหม่ที่เรียกว่าการบำรุงรักษาระบบใน Task Scheduler เพื่อจัดระเบียบ หรือสำหรับงานที่ใช้กำหนดการเดียวกัน คุณสามารถสร้างงานที่กำหนดเวลาไว้งานเดียวที่รันงานทั้งหมดพร้อมกันได้

Windows Defender สแกน

เก็บข้อบกพร่องออก

/th/images/xda-windows-defender-scan-schedule-task-scheduler.png

Windows Defender ทำหน้าที่ปกป้องระบบของฉันจากภัยคุกคามที่น่ารังเกียจได้ดี อย่างไรก็ตาม นับตั้งแต่ฉันเริ่มทดลองใช้ซอฟต์แวร์โฮสต์เอง ฉันคิดว่ามันรับประกันว่าจะต้องมีการสแกนด้วยตนเองอย่างชัดเจนทุกสัปดาห์

เคล็ดลับ: Task Scheduler มีงานที่กำหนดเวลาไว้สำหรับเครื่องมือ Windows ส่วนใหญ่อยู่แล้ว สิ่งที่พวกเขาต้องมีคือตัวกระตุ้น แทนที่จะสร้างงานใหม่สำหรับสิ่งนี้ ฉันเพียงแค่เปลี่ยนความถี่การสแกนของ Windows Defender เป็นรายสัปดาห์ ขณะที่ฉันแก้ไขรายการที่มีอยู่ที่นี่ สคริปต์ส่วนใหญ่ในบทความที่เหลือเขียนตั้งแต่ต้น

/th/images/xda-task-scheduler-winget.png

ตัวจัดการแพ็คเกจ WinGet ของ Windows 11 ช่วยให้ฉันประหยัดเวลาได้มากในการอัปเดตซอฟต์แวร์ทั้งหมดของฉันให้ทันสมัยอยู่เสมอ ฉันกำหนดเวลาให้ทำงานทุกวันศุกร์เวลาเที่ยงคืน

เมื่อสร้างงานที่กำหนดเวลาไว้ ให้ตั้งค่าให้เปิดโปรแกรม ป้อน powershell.exe ในฟิลด์ Program/script และป้อนข้อมูลต่อไปนี้ลงในฟิลด์ Add argument:


winget upgrade --all --silent --accept-package-agreements --accept-source-agreements  

บางครั้ง โปรแกรมที่อัปเดตจะเปิดตัวหลังจากกระบวนการเสร็จสิ้น มันน่ารำคาญมากก่อนที่ฉันจะกำหนดให้มันทำงานในช่วงนอกเวลาทำการเท่านั้น

เปิดตัวการตรวจสอบความน่าเชื่อถือของ Windows

ตรวจสอบว่ามีปัญหาเกิดขึ้นอีกหรือไม่

/th/images/xda-task-scheduler-reliability-monitor.png

การตรวจสอบความน่าเชื่อถือที่ไม่ค่อยมีใครรู้จักของ Windows จะให้คะแนนความเสถียรของระบบในระดับ 1 ถึง 10 ตามจำนวนข้อผิดพลาดที่บันทึกไว้ การเปิดตัวทุกเดือนช่วยให้ฉันติดตามได้ว่าระบบของฉันมีปัญหาอย่างต่อเนื่องหรือไม่

คำสั่งเพื่อเปิดใช้งาน Windows Reliability Monitor เป็นเพียงบรรทัดเดียว เพิ่มลงในฟิลด์อาร์กิวเมนต์ของ Task Scheduler โดยไม่มีสคริปต์


Start-Process perfmon -ArgumentList "/rel"  

ทำความสะอาดไฟล์ขยะ

เพิ่มพื้นที่เก็บข้อมูล

/th/images/xda-task-scheduler-disk-cleanup.png

ฉันเรียกใช้ Disk Cleanup เป็นประจำเพื่อลบไฟล์ขยะออกจากพื้นที่ดิสก์ของฉัน การเปิดใช้งานจากเมนู Start นั้นรวดเร็วอยู่แล้ว แต่การกำหนดเวลาการล้างข้อมูลรายสัปดาห์หมายความว่าฉันไม่จำเป็นต้องคิดถึงเรื่องนี้เลย

Disk Cleanup จะแสดงเมนูของรายการที่จะลบทุกครั้งที่ทำงาน เนื่องจากฉันต้องการทำให้กระบวนการนี้เป็นแบบอัตโนมัติมากที่สุดเท่าที่จะเป็นไปได้ ฉันจึงตั้งค่าโปรไฟล์การทำความสะอาดเริ่มต้นไว้ โปรไฟล์นี้สามารถปรับแต่งได้โดยการป้อน cleanmgr.exe/sageset:1 ในหน้าต่างพร้อมรับคำสั่ง จากนั้นเป็นเพียงเรื่องของการเลือกจากรายการและกดปุ่มบันทึก

ใน Task Scheduler ให้ตั้งค่ารูทีนให้รัน cleanmgr.exe ในฟิลด์อาร์กิวเมนต์ ให้ป้อน/sagerun:1 เพื่อระบุโปรไฟล์การล้างข้อมูล เมื่อมันทำงาน คุณจะไม่สังเกตเห็นด้วยซ้ำว่ามันเกิดขึ้น

ล้างประวัติเบราว์เซอร์ในเครื่อง

เพื่อปรับปรุงความเป็นส่วนตัว

/th/images/xda-task-scheduler-delete-browser-history.png

ฉันใช้ Edge, Chrome และ Firefox ในกระบวนการทำงานประจำวัน แทนที่จะเปิดแต่ละรายการและลบประวัติทีละรายการ Task Scheduler สามารถจัดการมันให้ฉันได้

เพื่อให้สคริปต์นี้ทำงานได้ จะต้องปิดเบราว์เซอร์ สคริปต์ต่อไปนี้มีไว้สำหรับ Google Chrome หากต้องการปรับสคริปต์นี้สำหรับ Microsoft Edge, Mozilla Firefox และเบราว์เซอร์อื่นๆ เพียงแทนที่เส้นทางของไฟล์ด้วยประวัติเฉพาะและตำแหน่งไฟล์คุกกี้


#Script start  

#Create an array of files to be removed  

$historyFiles=@("Archived History", "History", "Top Sites", "Visited Links")  
  
#Set the path to the Chrome folders containing said files. If there are multiple profiles in the browser, append their profile names after “\User Data’” in the path name.  
  
$chromeSystemFolder = "$env:LOCALAPPDATA\Google\Chrome\User Data\System Profile"  

$chromeProfileFolder= "$env:LOCALAPPDATA\Google\Chrome\User Data\Profile 1"  
  
# Loop through the array and delete the files  
  
foreach ($Item in $historyFiles)  

{  
  
$systemFilePath = Join-Path -Path $chromeSystemFolder -ChildPath $Item  

$profileFilePath = Join-Path -Path $chromeProfileFolder -ChildPath $Item  
  
Remove-Item -Path $systemFilePath -Force -ErrorAction SilentlyContinue  

Remove-Item -Path $profileFilePath -Force -ErrorAction SilentlyContinue  
  
}  

Write-Host “Chrome history deleted.”  
  
#Delete cookies stored in Chrome's “Network” folder  

Remove-Item "$chromeSystemFolder\Network\Cookies" -Force -ErrorAction SilentlyContinue  

Remove-Item "$chromeProfileFolder\Network\Cookies" -Force -ErrorAction SilentlyContinue  
  
Write-Host “Chrome cookies deleted.”  
  
#Wait for five seconds before closing the window  

Start-sleep 5  
  
Exit  
  
#Script end

ล้างประวัติการค้นหาของระบบ

ลบประวัติการค้นหาในเครื่องด้วย

/th/images/xda-task-scheduler-file-history-delete.png

เช่นเดียวกับเว็บเบราว์เซอร์ ตัวสำรวจไฟล์ของ Windows ยังจดจำประวัติการค้นหาไฟล์ในเครื่องและประวัติการทำงานของคุณด้วย ฉันทำความสะอาดทุกสัปดาห์โดยใช้คำสั่งนี้ในสคริปต์ PowerShell:


#script start  

Remove-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery" -Force -ErrorAction SilentlyContinue  
  
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" -Name "*" -ErrorAction SilentlyContinue  
  
Write-Host “File explorer history and run history deleted.”  
  
Start-Sleep 5  
  
Exit  
  
#Script end

ตรวจสอบสุขภาพของระบบ

ไม่ต้องรันบ่อยๆ

/th/images/xda-task-scheduler-system-health-check.png

เป็นการดีกว่าที่จะป้องกันปัญหาก่อนที่มันจะเกิดขึ้น ในทางเทคนิคแล้ว เครื่องมือ Windows System File Checker (sfc) และเครื่องมือ Deployment Imaging System Management (DISM) จำเป็นเฉพาะเมื่อเกิดปัญหา เช่น การอัปเดต Windows ล้มเหลวอย่างต่อเนื่อง ถึงกระนั้น ฉันก็ยังเปิดมันเป็นระยะ ๆ เพื่อติดตามความสมบูรณ์ของพีซีของคุณ ฉันได้รวมคำสั่งสองคำสั่งต่อไปนี้ไว้ในสคริปต์ PowerShell เดียวและกำหนดเวลาให้รันทุกๆ หกเดือน (ในส่วนกำหนดการ ให้เลือกทำซ้ำทุกเดือนและทำเครื่องหมายถูกเฉพาะเดือนมิถุนายนเท่านั้น)


#Script start  

DISM /Online /Cleanup-image /RestoreHealth  

Sfc /scannow  
  
Write-host “System file scan complete”  
  
#Add a pause so the results page stays on-screen  

Pause  
  
#Script end

ทั้ง sfc และ DISM ต้องการสิทธิ์ระดับผู้ดูแลระบบจึงจะทำงานได้ ใน Task Scheduler ให้ทำเครื่องหมายที่ตัวเลือกเพื่อให้ทำงานด้วยสิทธิ์สูงสุดเมื่อสร้างงาน

จะทำอะไรอีกล่ะ?

Task Scheduler มีความสามารถมากกว่าการเรียกใช้ฟังก์ชัน Windows 11 ในตัว นอกจากนี้ยังสามารถใช้เพื่อเปิดแอปของบุคคลที่สามได้อีกด้วย ตัวอย่างเช่น แทนการล้างข้อมูลบนดิสก์ ฉันสามารถกำหนดเวลาการทำงานโดยใช้ BleachBit หรือสแกนสิ่งที่กินพื้นที่เก็บข้อมูลของฉันด้วย WizTree ควบคู่ไปกับ Windows Reliability Monitor

แนวทางปฏิบัติที่ดีที่สุดอื่นๆ ในการรักษาระบบให้แข็งแรง ได้แก่ การกำหนดเวลาการสำรองข้อมูลประวัติไฟล์ และการสร้างจุดคืนค่าระบบ อย่างไรก็ตาม สำหรับการสำรองข้อมูลที่สำคัญ การใช้โซลูชันของบริษัทอื่นอาจดีกว่า เนื่องจากโซลูชันส่วนใหญ่มีคุณสมบัติการกำหนดเวลาเป็นของตัวเอง สุดท้ายนี้ เป็นความคิดที่ดีที่จะกำหนดเวลาให้งานเหล่านี้ทำงานนอกเวลาทำการ ฉันต้องทนทุกข์ทรมานจาก Windows แบบสุ่มที่โผล่ขึ้นมาระหว่างทำงานหรือเล่นเกม

*️⃣ ลิงค์ที่มา:

ระบบอัตโนมัติ, PowerShell, การสำรองข้อมูลที่สำคัญ,