วิธีที่ดีในการรีบูตคอมพิวเตอร์ทุกเครื่องในโดเมน Windows ทุกคืน


9

เป็นวิธีที่ดีในการรีบูตรายการคอมพิวเตอร์ windows บนโดเมน windows อย่างไร สมมติว่าตัวควบคุมโดเมน windows ไม่มีบริการในการทำเช่นนี้โปรดทำการแนะนำสคริปต์ใหม่

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

ภาษาสคริปต์ที่ฉันต้องการจากมากไปน้อยคือ PHP, javascript, Bash, Python (รู้น้อยมาก), VB (รู้ แต่ไม่ชอบ)


8
พลิกเบรกเกอร์ ฉันเป็นเด็ก
gravyface

ที่จะทำให้เกิดการปิดฉันต้องรีบูต
steampowered

@JM - ไม่ใช่หากพวกเขาถูกตั้งค่าเป็น "ดำเนินการก่อนหน้าสถานะพลังงาน" ใน BIOS
ชื่อปลอม

@ ชื่อปลอม - ดูเหมือนว่าจะทำงานมาก
steampowered

คำตอบ:


15

หาก GPO ไม่ใช่สิ่งของของคุณและคุณต้องการใช้ตัวเลือกที่สองของ Mark Henderson shutdown /mคุณสามารถทำให้งานของคุณง่ายขึ้นโดยการทำ batch-jobbing การปิดการทำงานดังนั้นมันจะทำแบบขนานมากกว่าอนุกรม มันต้อง PowerShell ในส่วนของสถานีผู้ดูแลระบบ แต่มันเป็นเรื่องที่ดีมาก

foreach ($ComputerName in $ComputerList) {
    invoke-command -AsJob -ScriptBlock {
        params($ComputerName)
        shutdown /m $ComputerName /r /f /t 0
    } -ArgumentList $ComputerName
}

สิ่งที่แฟรกเมนต์นี้ทำคือวางไข่เป็นงานพื้นหลังจำนวนมากที่ดำเนินการแบบขนานเนื่องจากมีเครื่องใน $ ComputerList สิ่งนี้สามารถทำให้การปิดทุกสิ่งเกิดขึ้นเร็วขึ้นมาก


2
นี่เป็นวิธีแก้ปัญหาที่น่าสนใจ - หากคุณมีคอมพิวเตอร์จำนวนมากที่จะต้องรีบูทฉันจะขอแนะนำวิธีแก้ปัญหานี้เนื่องจากจะรันคำสั่งการปิดระบบแบบขนาน
Richard West

2
นี่-AsJobคือบิตมหัศจรรย์ที่นี่
jscott

ฉันอยากรู้ว่าทำไมคุณใช้คำสั่ง "ปิด" มากกว่า cmdlet เริ่มต้นใหม่คอมพิวเตอร์
Charles Burge

@CharlesBurge นี่เป็นคำตอบ 5 ปีที่ผ่านมาและ PS3 ไม่ได้ใช้งานอย่างกว้างขวาง นอกจากนี้ยังแสดงให้เห็นถึงเทคนิคของการใช้คำสั่งในระบบอื่น ๆ ในปี 2560 เราทำทุกอย่างใน PowerShell และไม่ต้องกังวลกับคำสั่ง เวลาเปลี่ยน
sysadmin1138

7

คุณสามารถทำได้ด้วยการตั้งค่านโยบายกลุ่มโดยทำภารกิจตามกำหนดเวลาใหม่ที่จะทำงานทุกคืนในเวลาที่กำหนด shutdown /r /t 0คำสั่งสำหรับงานที่ควรจะเป็น จากนั้นคุณสามารถเชื่อมโยง GPO นั้นกับ OU หรือ OU ที่มีคอมพิวเตอร์ของคุณอยู่

คุณอาจต้องการใช้ตัวเลือก "เรียกใช้โปรแกรมนี้ในช่วงเวลาสุ่ม" ตั้งค่าไว้ระหว่าง 10-15 นาที การเปิดเครื่องคอมพิวเตอร์ทุกเครื่องในเวลาเดียวกันอาจเป็นผลเสียต่อเบรกเกอร์ของคุณหากคุณไม่ระวัง คุณอาจต้องการตรวจสอบตัวเลือกเพื่อให้ทำงานเฉพาะในกรณีที่คอมพิวเตอร์ไม่ได้ใช้งานเป็นเวลา x ชั่วโมงในกรณีที่มีคนดึงข้อมูลทั้งหมด คุณไม่ต้องการที่จะฆ่างานทั้งคืนด้วยการรีบูตใครบางคนที่พยายามทำวันสุดท้าย


ฉันไม่คุ้นเคยกับการตั้งค่างานที่กำหนดเวลาไว้กับ GPO ดังนั้นฉันจึงสงสัยว่า: หากเครื่องถูกย้ายจาก OU หนึ่งไปยังอีกที่หนึ่งโดยไม่ได้กำหนดภารกิจไว้งาน Shed Task จะหายไปหรือไม่หลังจากที่ใช้ครั้งแรกแล้ว
MaCuban

6

สองตัวเลือก:

  1. สร้างงานที่กำหนดเวลาไว้ผ่าน GPO ที่รันshutdown /r /f /t 0หรือshutdown /g /f /t 0บนแต่ละเครื่องที่คุณต้องการรีบูต (ตรวจสอบshutdown /?รายละเอียดเพิ่มเติม

  2. สร้างชุดงานที่ทำงานshutdown /m [computer name] /r /f /t 0จากคอมพิวเตอร์ส่วนกลาง (อาจเป็นตัวควบคุมโดเมนหรือไม่) วนซ้ำสำหรับคอมพิวเตอร์แต่ละเครื่องที่คุณต้องการรีบูต (เปลี่ยน[computer name]) ซึ่งหมายความว่าคอมพิวเตอร์จะไม่ถูกรีสตาร์ทหากไม่สามารถเข้าถึงได้ด้วยเหตุผลใดก็ตามและจำเป็นต้องเรียกใช้จากบัญชีที่มีสิทธิ์ในการรีสตาร์ทคอมพิวเตอร์

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


นอกจากนี้ยังมีคำสั่ง PsShutdown ที่สามารถวิ่งผ่านไฟล์ชุดเป็นอย่างดีส่วนหนึ่งของชุด sysinternals ...
Bart Silverstrim

ฉันใช้ทั้ง 1 และ 2 ตอนนี้สนุกกับ Powershell หากใช้ # 2 ให้พิจารณาสคริปต์หลักที่วางไข่กระบวนการแยกต่างหากสำหรับคอมพิวเตอร์แต่ละเครื่อง (เช่นstart cmd /c shutdown /m computer /r /f /t 0) หรือใช้ตรรกะบางอย่างเพื่อตรวจสอบว่าออนไลน์หรือไม่ความล่าช้าของคอมพิวเตอร์ออฟไลน์อาจมีความสำคัญ
jscott

4

วิธีที่ดีที่สุดในการทำเช่นนั้นคือการยิงคนที่มีความคิดว่านี่เป็นสิ่งจำเป็นและการทำในสิ่งที่คนอื่นทำ - ไม่ทำอย่างนั้น


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

1
อ่า - ไม่ ตันของ บริษัท ไม่ต้องการให้คนของพวกเขา reboiot - คุณคิดว่าพวกเขาเคยใช้การเปลี่ยนเส้นทางโฟลเดอร์? ฉันขอแนะนำให้แก้ไขปัญหาด้วยมือ ฉันจะโกรธถ้าฉันจะออกจากระบบเวิร์กสเตชันทุกวัน - ฉันมักปล่อยให้งานค้างคืน ความเกียจคร้านของคุณอาจทำให้คนยากลำบาก - ทำอย่างถูกต้องหรือจ้างคนที่ทำ
TomTom

การทำงานของฉันอย่างถูกต้องหมายถึงการไม่ใช้เวลามากเกินไปในการดูแลระบบ windows เล็ก ๆ ของเรา
steampowered

ไม่รู้ว่าคุณทำอะไร? ;) ฉันยิงคนที่บอกว่าพวกเขาไร้ความสามารถงานของพวกเขาโดยไม่คำนึงถึงวิธีการทำงานของพวกเขา
TomTom

ระบบดูแลระบบเป็นงานด้านที่ฉันทำเพื่อครอบครัวของฉันเพื่อช่วยพวกเขาออก ถ้าฉันไม่มีเวลาแน่นอนฉันจะอ่านหนังสือบน windows และ tangents อื่น ๆ เพิ่มเติม แต่วิธีที่ดีที่สุดของฉันในการทำเงินคือติดเว็บซอฟแวร์ ฉันคิดว่าคำตอบของคุณไม่ได้อยู่ในจิตวิญญาณของการเสนอทางออกทางเทคนิคกับคำถามที่ฉันถาม
steampowered
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.