คู่มือฉบับสมบูรณ์สำหรับการตั้งเวลาการทำงานของงานใน Windows ด้วยคำสั่ง schtasks

การปรับปรุงครั้งล่าสุด: 17/12/2025
ผู้แต่ง: ไอแซก
  • Schtasks คืออินเทอร์เฟซสายของ คำสั่ง จากโปรแกรมกำหนดเวลาทำงาน (Task Scheduler) และช่วยให้คุณสามารถสร้าง แก้ไข เรียกใช้งาน และลบงานได้ทั้งในเครื่องและจากระยะไกล
  • พารามิเตอร์หลัก เช่น /sc, /tn, /tr, /ru, /mo, /st หรือ /d จะกำหนดว่าอะไรจะทำงาน ด้วยสิทธิ์ใด และด้วยความถี่หรือเงื่อนไขการกระตุ้นใด
  • การจัดการสิทธิ์และบัญชีผู้ใช้ (ผู้ดูแลระบบ, ระบบ, ผู้ใช้ระยะไกลที่มีสิทธิ์ /uy /p) มีความสำคัญอย่างยิ่งต่อการสร้างและดำเนินการงานต่างๆ อย่างถูกต้อง
  • Schtasks มาแทนที่คำสั่ง AT เดิม และนำเสนอแพลตฟอร์มที่แข็งแกร่งสำหรับการทำงานอัตโนมัติในการบำรุงรักษา สคริปต์ และกระบวนการที่เกิดขึ้นซ้ำๆ Windows.

กำหนดเวลาการทำงานด้วย schtasks

กำหนดเวลาการทำงานใน Windows ด้วยคำสั่ง schtasks นี่เป็นหนึ่งในสิ่งที่คุณจะสงสัยว่าทำไมคุณถึงต้องทำงานซ้ำซากจำเจด้วยตนเองมานานหลายปีแล้ว การสำรองข้อมูลในเวลาที่ไม่ปกติ สคริปต์ที่คุณต้องรันทุกเช้า บริการที่คุณต้องรีสตาร์ทหลังจากระบบล่ม...ทั้งหมดนี้สามารถทำให้เป็นอัตโนมัติได้ด้วยคำสั่งง่ายๆ เพียงคำสั่งเดียว

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

schtasks คืออะไร และมันสามารถช่วยคุณได้อย่างไร

ตัวอย่างของ schtasks ใน Windows

Schtasks.exe คือเครื่องมือคอนโซล ซึ่ง Windows ใช้ในการสื่อสารกับ Task Scheduler ด้วยเหตุนี้ คุณจึงสามารถกำหนดได้ว่าโปรแกรมใดจะทำงาน ต้นฉบับ คำสั่งนี้จะถูกดำเนินการโดยอัตโนมัติในวันที่และเวลาที่กำหนด หรือตามตารางเวลาที่ระบุ โดยไม่ต้องแตะต้องส่วนติดต่อผู้ใช้แบบกราฟิกเลย

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

การดำเนินการพื้นฐานของ schtasks คำสั่งเหล่านี้ถูกจัดกลุ่มออกเป็นหกคำสั่งย่อยหลัก ซึ่งเป็นคำสั่งที่คุณจะใช้ใน 99% ของเวลา:

  • schtasks เปลี่ยนแปลง: ปรับเปลี่ยนคุณสมบัติของงานที่มีอยู่แล้ว (โปรแกรมที่จะเรียกใช้ ผู้ใช้ รหัสผ่าน โหมดโต้ตอบ…)
  • schtasks สร้าง: สร้างงานที่กำหนดเวลาไว้ใหม่
  • schtasks delete: ลบงานออกจากตัวกำหนดเวลา
  • schtasks end: หยุดโปรแกรมที่กำลังทำงานอยู่
  • การสอบถามงาน: แสดงตารางงานที่ทีมกำหนดไว้
  • schtasks run: บังคับให้ดำเนินการงานที่สร้างไว้แล้วทันที

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

ต้องขออนุญาตก่อนทำงานกับ schtasks

สิทธิ์สำหรับ schtasks

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

ในทีมท้องถิ่น ทำหน้าที่จัดการงานทั้งหมด ในการดู สร้าง แก้ไข และลบงาน คุณต้องเป็นผู้ดูแลระบบ ผู้ใช้ทั่วไปสามารถสร้างงานของตนเองได้ในบางกรณี แต่หากคุณต้องการควบคุมระบบอย่างเต็มที่ ให้ทำเช่นนั้นจากบัญชีที่มีสิทธิ์ผู้ดูแลระบบ

ในทีมที่ทำงานทางไกลก็เช่นเดียวกันบัญชีที่คุณใช้ต้องเป็นบัญชีผู้ดูแลระบบบนคอมพิวเตอร์ระยะไกล คุณสามารถเรียกใช้คำสั่งจากคอมพิวเตอร์ของคุณและใช้พารามิเตอร์ได้ /s เพื่อระบุทีมปลายทางและ /u y /p เพื่อระบุข้อมูลประจำตัวของผู้ดูแลระบบสำหรับเครื่องหรือโดเมนนั้น

พารามิเตอร์ /u เท่านั้นที่ทำงานได้อย่างถูกต้อง ปัญหานี้เกิดขึ้นเมื่อคอมพิวเตอร์ในเครื่องและคอมพิวเตอร์ระยะไกลอยู่ในโดเมนเดียวกัน หรืออยู่ในโดเมนที่มีการตั้งค่าความเชื่อถือไว้ หากไม่มีความสัมพันธ์ด้านความเชื่อถือ คอมพิวเตอร์ระยะไกลจะไม่สามารถตรวจสอบสิทธิ์บัญชีที่คุณระบุได้ และงานนั้นจะแสดงผลผิดพลาดหรือไม่ก็ว่างเปล่า แม้ว่าจะดูเหมือนว่าได้ถูกสร้างขึ้นแล้วก็ตาม

นอกจากนี้ ตัวงานเองต้องมีสิทธิ์อนุญาตที่เพียงพอด้วย เพื่อทำตามที่คุณขอ โดยค่าเริ่มต้น งานจะถูกเรียกใช้ภายใต้ผู้ใช้ปัจจุบันหรือผู้ใช้ที่คุณระบุด้วย /uหากคุณต้องการให้เรียกใช้งานด้วยบัญชีอื่นหรือโดยตรงด้วยสิทธิ์ของระบบ คุณต้องใช้พารามิเตอร์ /ru (เรียกใช้ในฐานะผู้ใช้) และโดยปกติแล้ว /rp เพื่อป้อนรหัสผ่าน

ไวยากรณ์ทั่วไปของ schtasks และพารามิเตอร์หลัก

ไวยากรณ์ของคำสั่ง schtasks นั้นค่อนข้างซับซ้อนอย่างไรก็ตาม รูปแบบการสร้างงานจะเหมือนกันเสมอ คือ คำสั่งย่อย ตามด้วยพารามิเตอร์ที่กำหนดว่างานนั้นจะถูกดำเนินการอย่างไร เมื่อไหร่ ที่ไหน และด้วยสิทธิ์ใดบ้าง รูปแบบทั่วไปสำหรับการสร้างงานมีดังนี้:

  Windows Resource Protection ไม่สามารถเริ่มการซ่อมแซมได้

schtasks /create /sc <tipo_programación> /tn <nombre_tarea> /tr <comando_o_programa>

พารามิเตอร์พื้นฐานในการสร้างงาน พวกเขามีดังนี้:

  • /sc: ประเภทของ การเขียนโปรแกรมค่าทั่วไป:
    • นาทีทุกๆ N นาที
    • รายชั่วโมงทุกๆ N ชั่วโมง
    • DAILYทุกๆ N วัน
    • WEEKLYทุกๆ N สัปดาห์
    • รายเดือนทุกๆ N เดือน
    • ครั้งเดียว: การดำเนินการเพียงครั้งเดียว
    • ออนสตาร์ท: ในแต่ละ รองเท้า ของระบบ
    • เข้าสู่ระบบเมื่อผู้ใช้ล็อกอินเข้าสู่ระบบ
    • โอนิเดิล: เมื่อระบบไม่มีการทำงานเป็นเวลา X นาที
    • วันเวนท์: เพื่อตอบสนองต่อเหตุการณ์เฉพาะในบันทึก
  • /tn: ชื่อของงานที่ไม่ซ้ำกัน สามารถระบุเส้นทางโฟลเดอร์ได้ (ตัวอย่างเช่น "MiCarpeta\BackupDB"(จำกัดสูงสุด 238 ตัวอักษร)
  • /tr: ระบุพาธแบบเต็มไปยังไฟล์ปฏิบัติการ สคริปต์ หรือไฟล์ .bat ที่จะถูกเรียกใช้งาน หากคุณไม่ระบุพาธ ระบบจะถือว่าได้ระบุพาธไว้แล้ว %SystemRoot%\System32ความยาวสูงสุด 262 ตัวอักษร
  • /s: คอมพิวเตอร์ระยะไกล (ชื่อหรือ IP) หากคุณไม่ระบุ คุณกำลังดำเนินการกับคอมพิวเตอร์เครื่องโลคัล
  • /หรือ: ข้อมูลประจำตัวที่ใช้ในการเรียกใช้คำสั่ง schtasks (สำหรับการเขียนโปรแกรมจากระยะไกล)
  • /p: รหัสผ่านของผู้ใช้ที่ระบุไว้ /uหากคุณไม่ระบุข้อมูลดังกล่าว คอนโซลจะขอให้คุณระบุเอง
  • /ru { | ระบบ}บัญชีที่จะใช้ในการดำเนินการงาน คุณสามารถใช้ผู้ใช้โดเมน ผู้ใช้ภายในเครื่อง หรือบัญชีอื่นได้ System.
  • /rp: รหัสผ่านสำหรับบัญชีที่ระบุไว้ใน /ruไม่ได้ใช้ด้วย /ru Systemเนื่องจากบัญชี SYSTEM ไม่มีรหัสผ่าน
  • /เดือน: ตัวปรับความถี่ภายในประเภทการเขียนโปรแกรม (จำนวนนาที ชั่วโมง วัน สัปดาห์ หรือเดือน)
  • /d: วันใดวันหนึ่งโดยเฉพาะสำหรับแบบรายสัปดาห์หรือแบบรายเดือนบางรูปแบบ (ตัวอย่างเช่น /d MON,FRI).
  • /ม: ระบุเดือน (มกราคม-ธันวาคม หรือ * สำหรับทุกเดือน)
  • /st: เวลาเริ่มต้นในรูปแบบ 24 ชั่วโมง (HH:MM).
  • /et o /du: เวลาสิ้นสุดหรือระยะเวลาสูงสุดสำหรับกำหนดการ (หน่วยเป็นนาที/ชั่วโมง)
  • /sd y /ed: กำหนดวันเริ่มต้นและวันสิ้นสุดตามการตั้งค่าภูมิภาคของระบบ
  • /รายการ: จะทำให้งานทำงานก็ต่อเมื่อผู้ใช้ที่ทำการเรียกใช้งานล็อกอินเข้าสู่ระบบแบบโต้ตอบเท่านั้น
  • /np: ไม่บันทึกรหัสผ่าน; งานนี้ทำงานแบบไม่โต้ตอบและใช้เฉพาะทรัพยากรในเครื่องเท่านั้น
  • /z: จะลบงานโดยอัตโนมัติเมื่อกำหนดการสิ้นสุดลง
  • /rl: ระดับสิทธิ์ (จำกัด หรือ สูงสุด)
  • /f: บังคับสร้างหรือแก้ไข โดยเขียนทับโดยไม่ขอการยืนยัน

มีพารามิเตอร์ขั้นสูงเพิ่มเติม (XML, ความเข้ากันได้กับเวอร์ชันก่อนหน้า, ความล่าช้า) /ล่าช้า(รหัส HRESULT เป็นต้น) แต่ด้วยข้อมูลข้างต้น คุณสามารถครอบคลุมสถานการณ์มาตรฐานได้เกือบทุกรูปแบบ

กำหนดตารางงานด้วยความถี่ที่แตกต่างกัน

จุดแข็งอย่างหนึ่งของ schtasks จุดเด่นอยู่ที่ความยืดหยุ่นในการกำหนดความถี่ คุณสามารถปรับเปลี่ยนได้ ตั้งแต่การดำเนินการทุกๆ สองสามนาที ไปจนถึงการปล่อยเวอร์ชันในวันสุดท้ายของบางเดือน หรือวันอาทิตย์ที่สองของแต่ละไตรมาส

สำหรับตารางเวลาแบบนาทีต่อนาทีมันถูกใช้ นาที /sc. ตัวปรับเปลี่ยน / mo ค่านี้ระบุความถี่ในการเริ่มงาน (หน่วยเป็นนาที) หากคุณไม่ได้ระบุ ค่าเริ่มต้นคือ 1 นาที

ตัวอย่างช่วงเวลา 20 นาที: schtasks /create /sc minute /mo 20 /tn "Security Script" /tr \\central\data\scripts\sec.vbs

ตัวอย่างพร้อมช่วงเวลา: schtasks /create /tn "Security Script" /tr sec.vbs /sc minute /mo 100 /st 17:00 /et 08:00 /k

สำหรับการนัดหมาย ถูกนำมาใช้ /sc รายชั่วโมงและอีกครั้ง / mo ระบุความถี่ในการเรียกใช้งาน ตัวอย่างเช่น หากต้องการเรียกใช้งาน MyApp ทุก 5 ชั่วโมง เริ่มตั้งแต่วันที่ 1 มีนาคม:

ตัวอย่างตารางเวลาสำหรับ 5 ชั่วโมง: schtasks /create /sc hourly /mo 5 /sd 03/01/2002 /tn MyApp /tr c:\apps\myapp.exe

ในตารางเวลาประจำวัน (/sc รายวัน) คุณสามารถใช้ได้ / mo เพื่อเว้นระยะการเรียกใช้งาน ตัวอย่างเช่น เรียกใช้งาน MyApp ทุก 12 วัน โดยเริ่มจากวันที่กำหนด:

ตัวอย่างการเว้นระยะห่างระหว่างวัน: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc daily /mo 12 /sd 12/31/2002 /st 13:00

ตารางประจำสัปดาห์ ถูกกำหนดด้วย /sc รายสัปดาห์รวม / mo (ช่วงเวลาหลายสัปดาห์) และ /d (วันในสัปดาห์: จันทร์, อังคาร, พุธ, พฤหัสบดี, ศุกร์, เสาร์, อาทิตย์ หรือ *) ตัวอย่างเช่น หากต้องการเปิด MyApp ทุกวันศุกร์เว้นวัน:

ตัวอย่างรายสัปดาห์ (ทุก 2 สัปดาห์): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc weekly /mo 2 /d FRI

มีตัวเลือกตารางเวลาประจำเดือนหลายแบบ:

  • ภายในวันใดวันหนึ่งของเดือน (1-31) กับ /sc รายเดือน y /d.
  • ต่อสัปดาห์และต่อวัน (วันที่ 1, 2, 3, 4 + /วัน) และอาจเพิ่มเติมได้ /m พร้อมกับเดือนต่างๆ
  • วันสุดท้ายของเดือน กับ /เดือน วันสุดท้าย y /m สำหรับบางเดือน หรือ * สำหรับทุกเดือน

ตัวอย่างรายเดือน (วันสุดท้ายของเดือนที่กำหนด): schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /mo LASTDAY /m FEB,MAR /st 18:00

ตัวกระตุ้นพิเศษ: ทำงานครั้งเดียว, เริ่มต้นระบบ, เข้าสู่ระบบ และไม่ได้ใช้งาน

คุณไม่จำเป็นต้องมีงานที่ทำซ้ำๆ เสมอไปบางครั้งคุณอาจต้องการเรียกใช้งานบางอย่างเพียงครั้งเดียวในวันที่และเวลาที่กำหนด ซึ่งนี่คือจุดประสงค์ของประเภทข้อมูลต่อไปนี้ /sc ครั้งเดียวซึ่งต้องใช้ /เซนต์ และโดยปกติแล้ว /ส.ด.:

  วิธีการพิมพ์อักขระพิเศษด้วยปุ่ม Alt ใน Windows

ตัวอย่างการดำเนินการครั้งเดียว: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc once /sd 01/01/2003 /st 00:00

ประเภท ONSTART (/sc onstartการตั้งค่านี้จะทำให้งานดังกล่าวทำงานทุกครั้งที่ระบบเริ่มต้นทำงาน เหมาะสำหรับสคริปต์การบำรุงรักษา การตรวจสอบ หรือบริการที่กำหนดเอง:

ตัวอย่าง OnStart: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onstart

เข้าสู่ระบบ (/sc onlogonคำสั่งนี้จะทำงานเมื่อผู้ใช้ล็อกอินเข้าสู่ระบบ คุณสามารถใช้คำสั่งนี้เพื่อเรียกใช้สคริปต์ของระบบ เชื่อมต่อไดรฟ์เครือข่าย เริ่มแอปพลิเคชันภายใน และอื่นๆ ตัวอย่างเช่น บนคอมพิวเตอร์ระยะไกล:

ตัวอย่างการเข้าสู่ระบบระยะไกล (Remote OnLogon): schtasks /create /tn "Start Web Site" /tr c:\myiis\webstart.bat /sc onlogon /s Server23

โอนิเดิล (/sc onidle) จะเรียกใช้งานโปรแกรมเมื่อคอมพิวเตอร์ไม่ได้ใช้งานเป็นระยะเวลาหนึ่ง ซึ่งคุณสามารถกำหนดได้ด้วย /i ในหน่วยนาที ตัวอย่างเช่น หากต้องการเริ่ม MyApp เมื่ออุปกรณ์ไม่ได้ใช้งานเป็นเวลา 10 นาที:

ตัวอย่าง OnIdle 10 นาที: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc onidle /i 10

สร้างงานที่มีสิทธิ์เฉพาะ: ผู้ใช้สำรองและระบบ

การใช้งาน schtasks ที่มีประสิทธิภาพอย่างมากอย่างหนึ่งคือการเริ่มงานโดยใช้บัญชีผู้ใช้ที่แตกต่างกัน ของบัญชีที่คุณกำลังใช้งานอยู่ ตัวอย่างเช่น คุณสามารถกำหนดเวลาการบำรุงรักษาภายใต้บัญชีผู้ดูแลระบบได้ แม้ว่าคุณจะเข้าสู่ระบบด้วยบัญชีผู้ใช้ที่มีสิทธิ์จำกัด หรือเรียกใช้กระบวนการต่างๆ ด้วยบัญชี SYSTEM เพื่อให้มีสิทธิ์ระดับสูงขึ้น

เพื่อเรียกใช้งานโปรแกรมโดยใช้บัญชีผู้ใช้อื่น พารามิเตอร์ถูกใช้ /ru พร้อมกับรหัสผ่านใน /rpตัวอย่างเช่น การเปิดใช้งาน MyApp ทุกสัปดาห์ในวันอังคาร โดยใช้สิทธิ์ Admin06 บนเครื่องคอมพิวเตอร์ในพื้นที่:

ตัวอย่างทางเลือก /ru: schtasks /create /tn MyApp /tr myapp.exe /sc weekly /d TUE /ru Admin06

ในระบบระยะไกล คำสั่ง /uy และ /p จะควบคุมว่าใครจะเป็นผู้กำหนดตารางงานในขณะที่ /ru ระบุว่าจะดำเนินการภายใต้บัญชีใด นี่เป็นแนวคิดที่แตกต่างกันและไม่ควรนำมาปะปนกัน:

  • /u: ข้อมูลประจำตัวเพื่อเรียกใช้คำสั่ง schtasks และสร้างงานบนเครื่องระยะไกล
  • /ru: บัญชีที่จะใช้ในการดำเนินการเมื่อถึงเวลาที่เหมาะสม

ตัวอย่างการใช้งานระยะไกลด้วยบัญชีผู้ใช้ที่แตกต่างกัน: schtasks /create /tn MyApp /tr myapp.exe /sc daily /mo 4 /s Marketing /u Marketing\Admin01 /ru Reskits\User01

หากคุณต้องการใช้บัญชี SYSTEMผู้ที่มีสิทธิพิเศษสูงมากนั้น เพียงแค่ระบุให้ชัดเจนก็เพียงพอแล้ว /ru System โดยไม่ต้องใช้รหัสผ่าน ตัวอย่างเช่น หากต้องการเรียกใช้ MyApp ในวันที่ 15 ของทุกเดือนในฐานะ SYSTEM:

ตัวอย่างของระบบ: schtasks /create /tn MyApp /tr c:\apps\myapp.exe /sc monthly /d 15 /ru System

โปรดจำไว้ว่ากระบวนการที่ทำงานในฐานะ SYSTEM โปรแกรมเหล่านี้ไม่สามารถโต้ตอบได้ กล่าวคือ ผู้ใช้จะไม่เห็นหน้าต่างหรือสามารถโต้ตอบกับหน้าต่างเหล่านั้นได้ เหมาะสำหรับใช้งานกับบริการ สคริปต์การบำรุงรักษา หรืองานระบบ แต่ไม่เหมาะสำหรับการเปิดแอปพลิเคชันที่ผู้ใช้มองเห็นได้

จัดการงานที่มีอยู่: เปลี่ยนแปลง เรียกใช้ แสดงรายการ และหยุด

เมื่อคุณสร้างงานเสร็จแล้ว ให้ตั้งค่า schtasks โปรแกรมนี้มีคำสั่งย่อยหลายคำสั่งสำหรับจัดการงานเหล่านั้นโดยไม่ต้องเปิดคอนโซลแบบกราฟิกของตัวกำหนดเวลาทำงาน (Task Scheduler)

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

  • /ตร: ไฟล์ปฏิบัติการหรือสคริปต์ใหม่
  • /ru: บัญชีผู้ใช้งานใหม่ (ผู้ใช้หรือระบบ)
  • /rp: รหัสผ่านสำหรับบัญชีใน /ru
  • /รายการ: กำหนดให้งานนั้น "ทำได้เฉพาะเมื่อผู้ใช้เข้าสู่ระบบแล้ว"

ตัวอย่างการแก้ไขสคริปต์: schtasks /change /tn "OpenWebinarsSchedule" /tr C:\Users\OpenWebinars\Documents\Release\nuevo_script.bat

หากคุณต้องการเริ่มงานในตอนนี้โดยไม่สนใจการเขียนโปรแกรม คุณใช้ schtasks / รันการดำเนินการนี้ไม่มีผลต่อกำหนดการครั้งถัดไป:

รีบดำเนินการทันที: schtasks /run /tn "OpenWebinarsSchedule"

เพื่อแสดงรายการภารกิจของทีม ถูกนำมาใช้ schtasks /queryคุณสามารถเลือกรูปแบบการแสดงผลได้ ไม่ว่าจะเป็นรายการแบบง่าย ตาราง หรือรายการแบบละเอียด:

  • schtasks /query → รายการพื้นฐาน
  • schtasks /query /fo LIST /v → รายการโดยละเอียด มีประโยชน์มากสำหรับการแก้ไขปัญหา

หากมีงานหนึ่งกำลังเรียกใช้โปรแกรมอยู่ และคุณต้องการหยุดงานนั้น, คุณมี schtasks /endคุณแค่ต้องระบุชื่อของงานเท่านั้น:

บังคับหยุดการทำงาน: schtasks /end /tn "OpenWebinarsSchedule"

และเมื่อคุณไม่ต้องการใช้งานฟังก์ชันนั้นอีกต่อไปคุณกำจัดมันด้วย schtasks /ลบคุณสามารถลบงานเฉพาะเจาะจงหรือลบงานทั้งหมดได้ (อย่างระมัดระวัง):

  • schtasks /delete /tn OpenWebinarsSchedule /f → ลบงานนั้นโดยไม่ต้องขอการยืนยัน
  • schtasks /delete /tn * /f → ลบงานระบบที่กำหนดเวลาไว้ทั้งหมด

ความมุ่งมั่นในการปฏิบัติงานตามแผน (ด้านเทคนิคและความปลอดภัย)

การใช้ schtasks ขั้นสูงและละเอียดอ่อน วิธีการนี้เกี่ยวข้องกับการสร้างงานเพื่อเป็นกลไกการคงอยู่: การกำหนดค่าโปรแกรมหรือสคริปต์ให้ทำงานเป็นระยะๆ หรือเมื่อระบบเริ่มต้นทำงาน แม้ว่าจะไม่มีใครล็อกอินเข้ามาก็ตาม วิธีนี้มีประโยชน์สำหรับผู้ดูแลระบบที่ถูกต้อง แต่ผู้โจมตีก็ใช้มันเช่นกัน ดังนั้นจึงเป็นสิ่งสำคัญที่จะต้องเข้าใจมันอย่างถ่องแท้จากมุมมองของ... โลกไซเบอร์.

  วิธีแปลงไฟล์ DMG เป็น ISO บน Windows, Linux และ macOS

งานที่กำหนดเวลาไว้ใน Windows ก็คือคำสั่งนั่นเอง วิธีนี้ช่วยให้ระบบสามารถเรียกใช้คำสั่ง สคริปต์ หรือไฟล์ปฏิบัติการได้ในเวลาที่กำหนด หรือด้วยความถี่ที่แน่นอน หากกำหนดงานนี้ด้วยบัญชี SYSTEM และความถี่ที่สั้นมาก คุณสามารถทำให้ไฟล์ไบนารีทำงานอย่างต่อเนื่องได้แม้ว่าจะมีคนปิดไฟล์ไปแล้วก็ตาม

ตัวอย่างการบันทึกข้อมูลอย่างต่อเนื่อง (ระบบจะบันทึกทุกๆ N นาที): schtasks /create /ru "SYSTEM" /sc minute /mo <minutos> /tn "<nombre>" /tr "<comando>"

อธิบายลำดับก่อนหน้านี้โดยละเอียด:

  1. /ru «ระบบ»: ดำเนินการคำสั่งนั้นโดยใช้บัญชี SYSTEM ซึ่งก็คือบัญชีที่มีสิทธิ์ระดับสูงมาก
  2. นาที /sc: ประเภทของการเขียนโปรแกรม (นาที)
  3. /เดือน: ช่วงเวลาการทำซ้ำ เช่น 10 ครั้ง ทุกๆ สิบนาที
  4. /tn « -: การระบุชื่อของงาน ซึ่งสามารถปลอมแปลงเป็นสิ่งที่ไม่เป็นอันตรายได้ หากใครต้องการไม่ให้ใครสังเกตเห็น
  5. /tr « -: โปรแกรมหรือสคริปต์ที่จะถูกเรียกใช้งาน (เส้นทางแบบเต็มพร้อมอาร์กิวเมนต์)

มีตัวอย่างที่รวมงาน schtasks เข้าด้วยกัน ด้วยเครื่องมืออย่าง plink.exe เพื่อสร้างการเชื่อมต่อแบบย้อนกลับ อุโมงค์พอร์ต และอื่นๆ ที่กำหนดค่าให้เริ่มต้นใหม่เป็นระยะ จากมุมมองด้านการป้องกัน ควรตรวจสอบงานที่กำหนดไว้เป็นระยะด้วย schtasks /query /fo LIST /v และจำเป็นต้องใช้โปรแกรม Event Viewer เพื่อตรวจจับการใช้งานประเภทนี้

จาก AT สู่ schtasks: เหตุผลที่คุณไม่ควรใช้ AT อีกต่อไป

เป็นเวลาหลายปีแล้วที่ระบบปฏิบัติการ Windows ได้รวมคำสั่ง AT ไว้ด้วย เพื่อกำหนดเวลาการทำงาน ในเวอร์ชันใหม่ๆ คำสั่งนี้ถูกยกเลิกอย่างเป็นทางการแล้ว และคอนโซลเองก็จะแจ้งให้คุณทราบเมื่อคุณพยายามใช้คำสั่งนี้ว่า “คำสั่ง AT ถูกยกเลิกแล้ว โปรดใช้ schtasks.exe แทน”

เทคโนโลยี AT อนุญาตให้ตั้งโปรแกรมคำสั่งง่ายๆ ได้ โดยระบุเพียงเวลา วันที่ และคำสั่งที่จะดำเนินการ ตัวอย่างเช่น การคัดลอกเอกสารไปยังไดรฟ์อื่นทุกเที่ยงคืน:

ตัวอย่าง AT แบบคลาสสิก: at 00:00 cmd /c copy C:\Documents\*.* J:\MyDocs

คุณยังสามารถแสดงรายการและลบงาน AT ได้อีกด้วย โดยใช้คำสั่งเดียวกันแต่มีหลายรูปแบบ (เช่น ตาม ID บนเครื่องระยะไกล เป็นต้น) อย่างไรก็ตาม มันยังไม่มีความยืดหยุ่น ความละเอียดในการกำหนดสิทธิ์ หรือตัวเลือกขั้นสูงเท่ากับที่ schtasks มีให้

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

งาน Schtasks เทียบกับอินเทอร์เฟซกราฟิกของ Task Scheduler

ทุกอย่างที่ schtasks ทำได้ ก็สามารถทำได้เช่นกัน จาก คอนโซลกราฟิกของตัวกำหนดเวลาทำงาน (เปิด) taskschd.msc (จาก Run) แต่การใช้บรรทัดคำสั่งมีข้อดีที่ชัดเจน: คุณสามารถทำให้การปรับใช้เป็นไปโดยอัตโนมัติ สร้างสคริปต์ที่นำกลับมาใช้ใหม่ได้ ใช้การเปลี่ยนแปลงจำนวนมาก หรือทำงานร่วมกับทีมที่อยู่ห่างไกลโดยไม่ต้องนั่งอยู่ตรงหน้าพวกเขา

แนวทางที่ใช้งานได้จริงมากในสภาพแวดล้อมที่หลากหลาย เป็นการผสมผสานทั้งสองโลกเข้าด้วยกัน: คุณสร้างงานพื้นฐานจากอินเทอร์เฟซแบบกราฟิกเพื่อทำความเข้าใจการตั้งค่าทั้งหมด ส่งออกเป็น XML จากนั้นใช้ schtasks ร่วมกับพารามิเตอร์ /xml เพื่อปรับใช้สำเนาโดยปรับแต่งเฉพาะสิ่งที่จำเป็นเท่านั้น (ผู้ใช้ วันที่ ฯลฯ)

นอกจากนี้ คุณยังสามารถผสานรวม schtasks เข้ากับสคริปต์ .bat หรือ .ps1 ได้อีกด้วย รวมถึงงานบำรุงรักษาอื่นๆ เช่น การทำความสะอาด บันทึกการรีสตาร์ทบริการ การเริ่มสำรองข้อมูล หรือการแจ้งเตือน ทั้งหมดนี้จะถูกกระตุ้นโดยงานที่กำหนดเวลาไว้เพียงงานเดียว ซึ่งเรียกใช้สคริปต์หลัก

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

ความเข้าใจอย่างถ่องแท้เกี่ยวกับ schtasks พารามิเตอร์การเขียนโปรแกรม และการทำงานร่วมกันระหว่าง /u, /ru สิทธิ์การเข้าถึงในเครื่อง และสิทธิ์การเข้าถึงจากระยะไกล โปรแกรมนี้ช่วยให้คุณสามารถตั้งค่าระบบอัตโนมัติสำหรับกิจวัตรเกือบทุกอย่างใน Windows ได้อย่างแม่นยำ ปลอดภัย และทำซ้ำได้ ทำให้คอมพิวเตอร์ทำในสิ่งที่ทำได้ดีที่สุด นั่นคือการปฏิบัติตามคำสั่งอย่างเคร่งครัดตลอด 24 ชั่วโมง 7 วันต่อสัปดาห์

กำหนดเวลาและจัดการงานที่กำหนดเวลาด้วย Schtaks
บทความที่เกี่ยวข้อง:
วิธีการกำหนดเวลาและจัดการงานอัตโนมัติด้วย schtasks ใน Windows