ค้นหาเว็บไซต์

รีสตาร์ทคอมพิวเตอร์ทั้งหมดใน OU ที่ระบุ


เมื่อเร็วๆ นี้ฉันได้รับคำขอให้ปิดคอมพิวเตอร์ทีละห้อง โดยเฉพาะเป็นเรื่องเกี่ยวกับโรงเรียนที่นักเรียนมักลืมปิดคอมพิวเตอร์ แน่นอนว่าสิ่งนี้เป็นไปได้ด้วย PowerShell มีอะไรอีกบ้าง?

เป้าหมาย

ก่อนอื่นเราต้องดึงข้อมูลหน่วยองค์กรทั้งหมด ไม่ใช่แค่พ่อแม่เท่านั้น แต่ยังรวมถึงลูกด้วย ฉันชอบที่มันใช้งานง่ายด้วย Out-GridView


$room=Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=Clients,OU=Workstations,DC=sid-500,DC=com' -SearchScope OneLevel | Select-Object DistinguishedName | Out-GridView -PassThru -Title 'Select Computers OU to restart all Computers in that OU'

สังเกตคำสั่ง Out-GridView หลังไปป์ สิ่งนี้ทำให้เราสามารถเลือก OU ในรูปแบบอินเทอร์เฟซแบบกราฟิกได้

หลังจากเลือก OU แล้ว คลิกตกลง คอมพิวเตอร์ทุกเครื่องใน OU นั้นจะถูกปิดระบบ

รหัส

โปรดทราบว่าคุณต้องปรับ บรรทัดที่ 1 ด้วยโครงสร้าง OU ของคุณ ตามที่เห็นสมควร


$room=Get-ADOrganizationalUnit -LDAPFilter '(name=*)' -SearchBase 'OU=Workstations,DC=sid-500,DC=com' -SearchScope OneLevel | Select-Object DistinguishedName | Out-GridView -PassThru -Title 'Select Computers OU to restart all Computers in that OU'
$comp=(Get-ADComputer -SearchBase $room.distinguishedname -Filter *).Name

Foreach ($c in $comp)

{Restart-Computer -ComputerName $c -ErrorAction SilentlyContinue -Force -Verbose}

แค่นั้นแหละ. ระบบอัตโนมัติเสร็จสมบูรณ์

บทความที่เกี่ยวข้อง