Thỉnh thoảng, đặc biệt là quản trị viên hệ thống, cần khởi động lại server hoặc hệ thống. Thường có thể Remote Shutdown hoặc Restart Windows 10 qua giao diện đồ họa – nhưng PowerShell cung cấp nhiều phương pháp reboot máy từ xa, bài viết này trình bày 6 phương pháp biết đến.

Cách Restart từ xa Windows 10 bằng PowerShell
Điều kiện tiên quyết: đảm bảo có thể liên lạc hệ thống từ xa và xác thực khi cần. Cũng cần kiểm tra hệ thống từ xa không đang chờ reboot.
Bạn cần:
- Tài khoản người dùng trên máy từ xa trong nhóm local administrators.
- Windows PowerShell hoặc PowerShell Core.
1. Restart máy từ xa với Restart-Computer
Cmdlet này đơn giản, tham số linh hoạt. Điều kiện thêm: WinRM đã cấu hình và cho phép qua tường lửa máy từ xa, WMI cho phép qua tường lửa Windows.
Restart-Computer -ComputerName $ComputerName -Force
Để restart nhiều máy song song:
$ComputerArray | ForEach-Object -Parallel { Restart-Computer -ComputerName $_ -Force } -ThrottleLimit 3
2. Restart máy từ xa với Invoke-CimMethod
Invoke-CimMethod dùng phương thức WIM reboot hệ thống từ xa – dù không linh hoạt như Restart-Computer.
Điều kiện thêm: WinRM cấu hình và cho phép qua tường lửa máy từ xa.
Invoke-CimMethod -ComputerName $ComputerName -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
3. Restart máy từ xa với shutdown.exe
shutdown.exe là file thực thi tích hợp sẵn Windows để restart hệ thống, không phải lệnh PowerShell nhưng cung cấp nhiều tùy chọn mạnh mẽ.
Điều kiện thêm: máy từ xa bật dịch vụ Remote Registry và cho phép WMI qua tường lửa.
shutdown.exe /m \\remotecomputer /r /t 0
4. Restart máy từ xa với PSExec.exe
Một trong tiện ích phổ biến nhất của Sysinternals toolkit, psexec.exe cung cấp khả năng độc đáo tương tác hệ thống từ xa dễ dàng.
Điều kiện thêm: dịch vụ SMB đang chạy, bật chia sẻ file/in ấn, tắt chia sẻ file đơn giản, share admin$ có sẵn.
psexec.exe -d -h \\remotecomputer "shutdown.exe /r /t 0 /f"
5. Restart máy từ xa với RunDLL32.exe
rundll32.exe cho phép chạy phương thức nhất định đối với file thực thi nội bộ và Windows API, như shell32.dll. Có 2 phương pháp restart bằng chức năng này nhưng không thể dùng trực tiếp từ xa, có thể kết hợp với PowerShell qua Invoke-Command trên hệ thống từ xa.
Phương pháp 1:
Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }
Phương pháp 2:
Invoke-Command -ComputerName $ComputerName -ScriptBlock { & rundll32.exe user.exe ExitWindowsExec }
6. Restart máy từ xa với Taskkill.exe
Cuối cùng, taskkill.exe là tiện ích Windows khác cung cấp chức năng restart Windows, tuy cách gián tiếp. Bằng cách kết thúc tiến trình lsass.exe, bạn buộc Windows restart.
taskkill.exe /S \\remotecomputer /IM lsass.exe /F
Đó là 6 cách dùng PowerShell restart máy tính từ xa!