ฉันขอแนะนำให้สร้างงานที่กำหนดเวลาในแต่ละเครื่องด้วยทริกเกอร์การเข้าสู่ระบบ เพื่อให้รันสคริปต์ของคุณเมื่อผู้ใช้เข้าสู่ระบบ งานสามารถทำงานภายใต้ SYSTEM หรือ Local Service หรืออะไรก็ได้
คุณสามารถกำหนดค่าสคริปต์ของคุณเพื่อลบงานที่กำหนดเวลาไว้เมื่อเสร็จสิ้น แม้ว่าควรจะเรียกใช้กับผู้ใช้ทุกคนที่เข้าสู่ระบบ (เนื่องจากคุณกำลังสอบถามสคริปต์การเข้าสู่ระบบ) ซึ่งอาจไม่จำเป็น ในกรณีนั้น ตรวจสอบให้แน่ใจว่าสคริปต์ของคุณมีวิธีบอกได้ว่ามีการเปลี่ยนแปลงเกิดขึ้นก่อนหรือไม่ เพื่อให้สามารถออกได้อย่างสง่างาม
หากคุณอาจอัปเดตสคริปต์ของคุณเป็นประจำ คุณสามารถกำหนดค่า GPO ของคุณเพื่อคัดลอกไปยังไดเร็กทอรีในเครื่องเมื่อผู้ใช้เข้าสู่ระบบ ในขณะที่งานที่กำหนดเวลาไว้จะทำงานเป็นชุดอย่างง่ายหลังจากถูกเรียกใช้เพื่อวนรอบการตรวจสอบสคริปต์หลักที่จะเขียน ไดเร็กทอรีในเครื่อง จากนั้นเรียกมันเมื่อมี
ต่อไปนี้คือตัวอย่างวิธีกำหนดค่างานที่จัดกำหนดการให้ทำงานเมื่อเข้าสู่ระบบ (แม้ว่าฉันจะไม่ใช้บัญชีผู้ดูแลระบบเพื่อดำเนินงานก็ตาม): https://sid-500.com/2017/07/26/how-to-automatically-start-powershell-at-every-logon/
โปรดทราบว่ามีหลายวิธีที่คุณอาจใช้แคชข้อมูลรับรองในสคริปต์ Powershell ได้ แต่การปิดผนึกนั้นซับซ้อนเพื่อให้เรียกใช้บนคอมพิวเตอร์เครื่องใดก็ได้ งานตามกำหนดเวลาที่ปรับใช้กับเครื่องของคุณในเวลาสร้างหรือพุชผ่านกระบวนการอื่น (เช่น SCCM) นั้นง่ายกว่ามาก