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

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

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

วิธี รีสตาร์ท Windows 10 จากระยะไกล โดยใช้ (Remotely Restart)PowerShell

ข้อกำหนดเบื้องต้นสำหรับวิธีการเหล่านี้คือเพื่อให้แน่ใจว่าเราสามารถติดต่อระบบระยะไกลและรับรองความถูกต้องตามความจำเป็น นอกจากนี้ คุณต้องตรวจสอบว่าระบบรีโมตไม่ได้รอการรีบูต

คุณจะต้องมีสิ่งต่อไปนี้:

  • บัญชีผู้ใช้บนคอมพิวเตอร์ระยะไกลในกลุ่มผู้ดูแลระบบภายใน
  • (Windows PowerShell or PowerShell Core)Windows PowerShell หรือPowerShell Core

1] รีสตาร์ท(Restart)คอมพิวเตอร์ระยะไกลด้วยRestart-Computer

cmdlet นี้ใช้งานง่ายด้วยพารามิเตอร์ที่ยืดหยุ่น ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่าWinRMได้รับการกำหนดค่าและอนุญาตผ่านไฟร์วอลล์ Windows ของคอมพิวเตอร์ระยะไกล(allowed through the remote computer’s Windows firewall)และWMIได้รับอนุญาตผ่านไฟร์วอลล์Windows

Restart-Computer -ComputerName $ComputerName -Force

ในการรีสตาร์ทคอมพิวเตอร์หลายเครื่องพร้อมกัน ให้เรียกใช้คำสั่งต่อไปนี้:

$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 3

2] รีสตาร์ท(Restart)คอมพิวเตอร์ระยะไกลด้วยInvoke-CimMethod

Invoke-CimMethodทำงานโดยใช้วิธีWIMเพื่อรีบูทระบบระยะไกล - แม้ว่าจะไม่ยืดหยุ่นเท่าRestart-Computercmdlet

ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่า ได้กำหนดค่า WinRMและอนุญาตผ่านไฟร์วอลล์Windows ของคอมพิวเตอร์ระยะไกล(Windows)

Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'

3] รีสตาร์ท(Restart)คอมพิวเตอร์ระยะไกลด้วย shutdown.exe

เป็นshutdown.exeไฟล์เรียกทำงานมาตรฐานในตัวที่ Windows เสนอให้เริ่มระบบใหม่ และไม่ใช่ คำสั่ง PowerShellแต่มีชุดตัวเลือกที่แข็งแกร่ง

ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ ระยะไกล เปิดใช้งานบริการRemote Registry และอนุญาต (Remote Registry)WMIผ่านไฟร์วอลล์Windows

shutdown.exe /m \\remotecomputer /r /t 0

4] รีสตาร์ท(Restart)คอมพิวเตอร์ระยะไกลด้วยPSExec.exe

หนึ่งในยูทิลิตี้ที่ใช้กันมากที่สุดภายในชุดเครื่องมือ Sysinternals มี ความ  psexec.exe สามารถพิเศษหลายอย่างที่ทำให้การโต้ตอบกับระบบระยะไกลทำได้ง่าย

ข้อกำหนดเบื้องต้นเพิ่มเติมสำหรับคำสั่งในการทำงานคือ ตรวจสอบให้แน่ใจว่าบริการ SMB(SMB Service)กำลังทำงานอยู่ เปิดใช้งานการแชร์ไฟล์และเครื่องพิมพ์(file and printer sharing is enabled)ปิดใช้งานการแชร์ไฟล์อย่างง่าย และผู้ดูแลระบบ $ แชร์ได้

psexec.exe -d -h \\remotecomputer "shutdown.exe /r /t 0 /f"

5] รีสตาร์ท(Restart)คอมพิวเตอร์ระยะไกลด้วยRunDLL32.exe

เสนอ วิธี  rundll32.exe การเรียกใช้วิธีการบางอย่างกับไฟล์เรียกทำงานภายในและWindows API(Windows APIs)เช่น shell32.dll มีสองวิธีที่คุณสามารถรีสตาร์ทระบบโดยใช้ฟังก์ชันนี้ แต่วิธีนี้ไม่สามารถใช้จากระยะไกลได้ด้วยตัวเอง คุณสามารถรวมวิธีนี้กับPowerShellผ่านInvoke-Command ระบบระยะไกลได้

วิธีที่ 1(Method 1) :

Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }

วิธีที่ 2(Method 2) :

Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }

6] รีสตาร์ท(Restart)คอมพิวเตอร์ระยะไกลด้วยTaskkill.exe

สุดท้ายแต่ไม่ท้ายสุด เป็นยูทิลิตี้ Windowstaskkill.exe  อีกตัวหนึ่งที่มีฟังก์ชันการทำงานบางอย่างในการรีสตาร์ทWindowsแม้ว่าจะเป็นการอ้อมก็ตาม เมื่อสิ้นสุด   กระบวนการ คุณจะต้องบังคับให้Windowsรีสตาร์ทlsass.exe

taskkill.exe /S \\remotecomputer /IM lsass.exe /F

นั่นคือ 6 วิธีในการใช้PowerShellเพื่อรีสตาร์ทคอมพิวเตอร์ระยะไกล!



About the author

ฉันเป็นนักพัฒนาเว็บที่มีประสบการณ์มากกว่า 10 ปี ฉันเชี่ยวชาญด้านการพัฒนา Chrome OS และเคยทำงานในโครงการต่างๆ มากมายตั้งแต่สตาร์ทอัพขนาดเล็กไปจนถึงบริษัทที่ติดอันดับ Fortune 500 ฉันยังเป็นผู้เชี่ยวชาญในบัญชีผู้ใช้และความปลอดภัยของครอบครัว และได้พัฒนาแอพ Android ที่ประสบความสำเร็จหลายตัว



Related posts