โดยเฉพาะอย่างยิ่ง ผู้ดูแลระบบจะต้องรีสตาร์ทเซิร์ฟเวอร์หรือระบบเป็นระยะๆ โดยเฉพาะอย่างยิ่ง โดยปกติ คุณสามารถปิดเครื่องระยะไกลหรือรีสตาร์ท Windows 10 ผ่านอินเทอร์เฟซผู้ใช้แบบกราฟิก – PowerShell มีหลายวิธีในการรีบูตเครื่องคอมพิวเตอร์จากระยะไกล และเราจะสรุปวิธีที่รู้จัก 6 วิธีในโพสต์นี้
วิธีการรีสตาร์ท Windows 10 จากระยะไกลโดยใช้ PowerShell
ข้อกำหนดเบื้องต้นสำหรับวิธีการเหล่านี้คือเพื่อให้แน่ใจว่าเราสามารถติดต่อกับระบบระยะไกลและรับรองความถูกต้องตามความจำเป็น นอกจากนี้ คุณต้องตรวจสอบว่าระบบระยะไกลไม่ได้รอการรีบูต
คุณจะต้องมีสิ่งต่อไปนี้:
- บัญชีผู้ใช้บนคอมพิวเตอร์ระยะไกลในกลุ่มผู้ดูแลระบบภายใน
- Windows PowerShell หรือ PowerShell Core
1] รีสตาร์ทคอมพิวเตอร์ระยะไกลด้วย Restart-Computer
cmdlet นี้ใช้งานง่ายด้วยพารามิเตอร์ที่ยืดหยุ่น ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่าได้กำหนดค่า WinRM และอนุญาตผ่านไฟร์วอลล์ Windows ของคอมพิวเตอร์ระยะไกล และ WMI ได้รับอนุญาตผ่านไฟร์วอลล์ Windows
Restart-Computer -ComputerName $ComputerName -Force
ในการรีสตาร์ทคอมพิวเตอร์หลายเครื่องพร้อมกัน ให้เรียกใช้คำสั่งต่อไปนี้:
$ComputerArray | ForEach-Object -Parallel { Restart-Computer -ComputerName $_ -Force } -ThrottleLimit 3
2] รีสตาร์ทคอมพิวเตอร์ระยะไกลด้วย Invoke-CimMethod
Invoke-CimMethod
ทำงานโดยใช้วิธี WIM เพื่อรีบูตระบบระยะไกล แม้ว่าจะไม่ยืดหยุ่นเท่า Restart-Computer
cmdlet.
ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่าได้กำหนดค่า WinRM และอนุญาตผ่านไฟร์วอลล์ Windows ของคอมพิวเตอร์ระยะไกล
Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
3] รีสตาร์ทคอมพิวเตอร์ระยะไกลด้วย shutdown.exe
shutdown.exe
เป็นไฟล์เรียกทำงานมาตรฐานในตัวที่ Windows เสนอให้เริ่มระบบใหม่ และไม่ใช่คำสั่ง PowerShell แต่เสนอชุดตัวเลือกที่มีประสิทธิภาพ
ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ระยะไกลเปิดใช้งานบริการ Remote Registry และอนุญาต WMI ผ่านไฟร์วอลล์ Windows
shutdown.exe /m \\remotecomputer /r /t 0
4] รีสตาร์ทคอมพิวเตอร์ระยะไกลด้วย PSExec.exe
หนึ่งในยูทิลิตี้ที่ใช้มากที่สุดภายในชุดเครื่องมือ Sysinternals psexec.exe
มีความสามารถพิเศษหลายอย่างที่ทำให้การโต้ตอบกับระบบระยะไกลทำได้ง่าย
ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่าบริการ SMB ทำงานอยู่ เปิดใช้งานการแชร์ไฟล์และเครื่องพิมพ์ ปิดการแชร์ไฟล์อย่างง่าย และผู้ดูแลระบบ $ แชร์ได้
psexec.exe -d -h \\remotecomputer "shutdown.exe /r /t 0 /f"
5] รีสตาร์ทคอมพิวเตอร์ระยะไกลด้วย RunDLL32.exe
ไฟล์ rundll32.exe
เสนอวิธีการเรียกใช้วิธีการบางอย่างกับไฟล์เรียกทำงานภายในและ Windows API เช่น shell32.dll มีสองวิธีที่คุณสามารถรีสตาร์ทระบบโดยใช้ฟังก์ชันนี้ แต่วิธีนี้ไม่สามารถใช้จากระยะไกลได้ด้วยตัวเอง คุณสามารถรวมวิธีนี้กับ PowerShell ผ่าน Invoke-Command
บนระบบระยะไกล
วิธีที่ 1 :
Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }
วิธีที่ 2 :
Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }
6] รีสตาร์ทคอมพิวเตอร์ระยะไกลด้วย Taskkill.exe
สุดท้ายแต่ไม่ท้ายสุด taskkill.exe
เป็นยูทิลิตี Windows อื่นที่มีฟังก์ชันบางอย่างในการรีสตาร์ท Windows แม้ว่าจะเป็นแบบวงเวียนก็ตาม โดยลงท้าย lsass.exe
กระบวนการ คุณจะต้องบังคับให้ Windows รีสตาร์ท
taskkill.exe /S \\remotecomputer /IM lsass.exe /F
แค่นั้นแหละ 6 วิธีในการใช้ PowerShell เพื่อรีสตาร์ทคอมพิวเตอร์ระยะไกล!