Búsqueda de sitios web

Cómo reiniciar remotamente una computadora con Windows usando PowerShell


De vez en cuando, especialmente, un administrador del sistema necesitará reiniciar un servidor o sistema. Por lo general, puede apagar o reiniciar Windows de forma remota a través de la interfaz gráfica de usuario: PowerShell proporciona varios métodos para reiniciar una computadora de forma remota y describiremos los 6 métodos conocidos en esta publicación.

Cómo reiniciar remotamente Windows 11/10 usando PowerShell

Un requisito previo para estos métodos es garantizar que podamos contactar con los sistemas remotos y autenticarnos según sea necesario. Y también, debe verificar que un sistema remoto no esté pendiente de reiniciar.

Necesitarás lo siguiente:

  • Una cuenta de usuario en la computadora remota en el grupo del administrador local.

  • Windows PowerShell o PowerShell Core.

1. Reinicie una computadora remota con Restart-Computer

Este cmdlet es fácil de usar con parámetros flexibles. Un requisito previo adicional para que el comando funcione es asegurarse de que WinRM esté configurado y permitido a través del firewall de Windows de la computadora remota y que WMI esté permitido a través del firewall de Windows.

Restart-Computer -ComputerName $ComputerName -Force

Para reiniciar varias computadoras en paralelo, ejecute el siguiente comando:

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

2. Reinicie una computadora remota con Invoke-CimMethod

El Invoke-CimMethod funciona utilizando un método WIM para reiniciar el sistema remoto, aunque no es tan flexible como el cmdlet Restart-Computer.

Un requisito previo adicional para que el comando funcione es asegurarse de que WinRM esté configurado y permitido a través del firewall de Windows de la computadora remota.

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

3. Reinicie una computadora remota con shutdown.exe

El shutdown.exe es el ejecutable incorporado estándar que ofrece Windows para reiniciar un sistema, y no es un comando de PowerShell, pero ofrece una sólida serie de opciones.

Un requisito previo adicional para que el comando funcione es asegurarse de que la computadora remota tenga habilitado el servicio de registro remoto y WMI permitido a través del firewall de Windows.

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

4. Reinicie una computadora remota con PSExec.exe

Una de las utilidades más utilizadas dentro del kit de herramientas de Sysinternals, psexec.exe ofrece varias capacidades únicas que facilitan la interacción con un sistema remoto.

Un requisito previo adicional para que el comando funcione es asegurarse de que el servicio SMB se esté ejecutando, el uso compartido de archivos e impresoras esté habilitado, el uso compartido simple de archivos esté deshabilitado y el recurso compartido administrativo admin$esté disponible.

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

5. Reinicie una computadora remota con RunDLL32.exe

El rundll32.exe ofrece una manera de ejecutar ciertos métodos contra ejecutables internos y API de Windows, como shell32.dll. Hay dos métodos para reiniciar un sistema usando esta funcionalidad, pero este método no se puede usar de forma remota por sí mismo, puede combinarlo con PowerShell a través de un Invoke-Command en un sistema remoto.

Método 1:

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

Método 2:

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

6. Reinicie una computadora remota con Taskkill.exe

Por último, pero no menos importante, taskkill.exe es otra utilidad de Windows que ofrece alguna funcionalidad para reiniciar Windows, aunque de forma indirecta. Al finalizar el proceso lsass.exe , forzará un reinicio de Windows.

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

¡Eso es todo sobre las 6 formas de usar PowerShell para reiniciar una computadora remota!

Artículos relacionados