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

วิธีรีสตาร์ทคอมพิวเตอร์ Windows จากระยะไกลโดยใช้ PowerShell


ทุกครั้งโดยเฉพาะอย่างยิ่งผู้ดูแลระบบจะต้องรีสตาร์ทเซิร์ฟเวอร์หรือระบบ โดยปกติแล้ว คุณสามารถปิดเครื่องหรือรีสตาร์ท Windows จากระยะไกลผ่านอินเทอร์เฟซผู้ใช้แบบกราฟิก - PowerShell มีหลายวิธีในการรีบูตเครื่องคอมพิวเตอร์จากระยะไกล และเราจะสรุปวิธีการที่รู้จัก 6 วิธีในโพสต์นี้

วิธีรีสตาร์ท Windows 11/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 เพื่อรีบูตระบบระยะไกล แม้ว่าจะไม่ยืดหยุ่นเท่า cmdlet Restart-Computer

ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่า 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 เพื่อรีสตาร์ทคอมพิวเตอร์ระยะไกล!

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