ตารางเวลาการทำงาน: สคริปต์ชุดที่กำหนดเวลาไม่ได้ทำงาน
คุณสมบัติตัวกำหนดเวลางาน . .
จาก Windows Task Scheduler
ในงานProperties
(ดูภาพหน้าจอส่วนใหญ่ด้านล่าง)ใน . .
1. General
แท็บตรวจสอบให้แน่ใจว่าตัวเลือกด้านล่างเลือก / ตรวจสอบหรือไม่เลือกเช่นเดียวกับที่แสดงในหน้าจอพิมพ์ A
- ยกเลิกการเลือก
Run only when user is logged on
- ตรวจสอบ
Run whether user is logged on or not
- ตรวจสอบ
Run with the highest privileges
2. Conditions
แท็บให้แน่ใจว่าด้านล่างจะมีตัวเลือกให้เลือก , การตรวจสอบหรือไม่ถูกตรวจสอบเช่นเดียวกับที่ปรากฏในหน้าจอพิมพ์ B
- ตรวจสอบ
Wake the computer to run this task
3. Actions
แท็บคลิกEdit
และตรวจสอบให้แน่ใจว่าStart in (optional)
ได้ตั้งค่าตามที่แสดงในตัวอย่างด้านล่าง ( อย่าใส่เครื่องหมายอัญประกาศล้อมรอบ) สำหรับเส้นทางแบบเต็มซึ่งชี้ที่สคริปต์แบทช์ตั้งอยู่โดยไม่มีแบ็กสแลชสุดท้าย " \
" พิมพ์หน้าจอ C
การพิจารณาความปลอดภัย
เมื่อคุณกดOK
( 2.ด้านบน) มันจะแจ้งให้คุณทราบเพื่อให้เรียกใช้สิ่งนี้เป็นและข้อมูลประจำตัวนั้นคือสิ่งที่จะต้องเข้าถึงEXECUTE
ไฟล์แบตช์ที่มีอยู่และมันจะต้องเข้าถึงเพื่อทำสิ่งที่ไฟล์แบทช์กำลังทำงานอยู่ ที่คุณเขียนออกมา
อาจเป็นการดีที่สุดในการตั้งค่าบัญชีผู้ใช้บริการ / พร็อกซีแบบคงที่สำหรับกระบวนการนี้และจากนั้นใช้ข้อมูลประจำตัวเพื่อเรียกใช้กระบวนการ คุณต้องให้แน่ใจว่ารหัสผ่านนั้นแข็งแรงและได้รับการตั้งค่าให้ไม่มีวันหมดอายุและต้องเข้าถึงEXECUTE
แบตช์และดำเนินการตามกระบวนการแบทช์สคริปต์ที่กำลังทำงานอยู่และคำสั่งและทรัพยากรใด ๆ มันใช้เช่นกัน
ดูเหมือนว่าตัวเลือกที่Run whether user is logged on or not
คุณต้องตรวจสอบตัวเลือกRun with highest privileges
เพื่อให้ทำงานตามที่คาดหวังจาก Task Scheduler
ตรวจสอบข้อผิดพลาด
หากมีปัญหากับแบทช์สคริปต์จริง แต่ Windows Task Scheduler ทำงานจริงเพื่อรัน แต่มีข้อผิดพลาดตรรกะของสคริปต์แบทช์ออกมาไม่ว่าด้วยเหตุผลใดก็ตามTask Schedulerอาจไม่เห็นความล้มเหลวในระดับนี้ จากมุมมองของมัน (โดยค่าเริ่มต้นส่วนใหญ่), มันกำลังประมวลผลแบตช์ไฟล์ตราบใดที่มันสามารถเรียกใช้งานและเข้าถึงได้, มันทำงานได้สำเร็จ
เพิ่มการตรวจสอบข้อผิดพลาดหรือการบันทึกลงในตรรกะของสคริปต์ชุดงานเพื่อตรวจจับ (หรือแก้ไขปัญหา ) ปัญหาในระดับนี้รวมถึงการตรวจสอบให้แน่ใจว่าบริบทความปลอดภัยซึ่งตัวกำหนดตารางเวลาแบบชุดทำงานดำเนินการตามที่มีการเข้าถึงคำสั่งทรัพยากร ฯลฯ
ข้อพิจารณานโยบายกลุ่ม
ตรวจสอบนโยบายกลุ่มและเข้าสู่ระบบในฐานะสิทธิ์การใช้งานแบทช์
คำตอบ: ใน Windows สิทธิพิเศษนี้จะได้รับผ่านท้องถิ่นหรือนโยบายความปลอดภัยของโดเมน เมื่อต้องการทำเช่นนี้โดยใช้นโยบายความปลอดภัยท้องถิ่นทำตามขั้นตอนเหล่านี้
- ในแผงควบคุมเปิดเครื่องมือการจัดการจากนั้น
นโยบายความปลอดภัยท้องถิ่น
- ภายใต้การตั้งค่าการรักษาความปลอดภัยเปิดนโยบายท้องถิ่นและไฮไลท์สิทธิ์ของผู้ใช้ที่ได้รับมอบหมาย
- ค้นหาเข้าสู่ระบบเป็นชุดงาน เปิดคุณสมบัติและเพิ่มผู้ใช้ที่ต้องการสิทธิ์นี้
- เมื่อเสร็จแล้วบันทึกการเปลี่ยนแปลงของคุณและปิดหน้าต่างการตั้งค่าความปลอดภัยท้องถิ่น
การเปลี่ยนแปลงของคุณจะมีผลทันที ในการเปลี่ยนแปลงนโยบายความปลอดภัยของโดเมนบนตัวควบคุมโดเมนให้ใช้ยูทิลิตี้นโยบายความปลอดภัยของโดเมนในแผงควบคุม
Batch Script Logic พร้อมแมปไดรฟ์หรือเส้นทาง UNC แบบเต็มและปัญหา . .
หากสคริปต์ของคุณอ้างอิงถึงไดรฟ์เครือข่ายที่แมป แต่คุณต้องการให้ทำRun whether the user is logged on or not
ภายใต้บริบทนี้การแมปไดรฟ์อาจไม่ได้อยู่ที่นั่นสำหรับกระบวนการแบ็ตช์เพื่อทำสิ่งที่คาดหวัง
หากเป็นไปได้ให้ใช้UNC
เส้นทางในตรรกะสคริปต์ชุดงานของคุณแทนที่จะเป็นตัวอักษรไดรฟ์ที่แมปเพื่อหลีกเลี่ยงปัญหา มิฉะนั้นคุณอาจต้องใช้PUSHD \\ServerName\ShareName
ในตอนต้นของกระบวนการแบทช์จากนั้นใช้POPD
เมื่อสิ้นสุดกระบวนการแบทช์ คุณสามารถแมปไดรฟ์ด้วยNET USE X: \\ServerName\ShareName
ในตอนต้นของกระบวนการแบทช์แล้วถอดไดรฟ์ด้วยNET USE X: /DELETE
เมื่อสิ้นสุดกระบวนการแบทช์
อื่น ๆ
MS HOTFIX (KB977353): นโยบายกลุ่มรายการการกำหนดลักษณะงานทันทีไม่ทำงานบนคอมพิวเตอร์ไคลเอนต์ที่ใช้ Windows 7 หรือ Windows Server 2008 R2
ดูที่ตารางงานของแท็บและตัวเลือกที่ระบุว่าเป็นSettings
Stop the task if it runs longer than:
หากตัวเลือกนี้ได้รับการตรวจสอบและระยะเวลาน้อยกว่าสคริปต์ที่กำลังทำงาน Task Scheduler จะฆ่ามันก่อนและดังนั้นคุณอาจไม่ได้รับผลลัพธ์ตามที่คาดไว้ นี่คือสิ่งอื่นที่ต้องตรวจสอบเมื่อแก้ไขปัญหาในกรณี
จากTriggers
แท็บของภารกิจที่กำหนดเวลาไว้เมื่อคุณเลือกEdit
ตัวเลือกต้องแน่ใจว่าตั้งStart:
เวลาและวันที่เป็นค่าที่ยังไม่ผ่าน ตรวจสอบให้แน่ใจว่านี้มีวันที่และเวลาที่กำหนดเพื่อที่ของค่าในอนาคต มิฉะนั้นคุณอาจสังเกตเห็นว่างานระบุว่ามันมีกำหนดที่จะทำงานในเวลาที่กำหนดต่อไปตามที่คุณคาดหวัง; อย่างไรก็ตามมันจะไม่ถูกเรียกใช้งานโดยTask Schedulerและแท็บTask Scheduler History
แสดงว่ามันถูกเรียกใช้งานมาแล้ว (เพราะไม่ใช่) เพียงแค่แก้ไขทริกเกอร์และอัปเดตด้วยวันที่และ / หรือเวลาในอนาคตเพื่อแก้ไขปัญหานี้หากคุณประสบ
PRINT SCREENS
พิมพ์หน้าจอ
พิมพ์หน้าจอ B
พิมพ์หน้าจอ