De vez en cuando, especialmente, un administrador del sistema deberá reiniciar un servidor o sistema. Por lo general, puede conectarse de forma remota a un sistema y reiniciar / apagar el sistema a través de la interfaz gráfica de usuario - Potencia Shell proporciona varios métodos para reiniciar una computadora de forma remota y describiremos los 6 métodos conocidos en esta publicación.
Reiniciar una computadora con Windows de forma remota 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 reinicio.
Necesitará 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.
Reiniciar-Computadora -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
La Invocar-CimMethod
funciona mediante el uso de un método WIM para reiniciar el sistema remoto, aunque no es tan flexible como el Reiniciar-Computadora
cmdlet.
Un requisito previo adicional para que funcione el comando 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 apagado.exe
La cerrar.exe
es el ejecutable integrado estándar que Windows ofrece 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.
cerrar.exe / m \\ computadora remota / 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 habilidades ú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 esté en ejecución, que el uso compartido de archivos e impresoras esté habilitado, que el uso compartido simple de archivos esté deshabilitado y que el recurso compartido administrativo admin $ esté disponible.
psexec.exe -d -h \\ remotecomputer "apagado.exe / r / t 0 / f "
5] Reinicie una computadora remota con RunDLL32.exe
La rundll32.exe
ofrece una forma 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 Invocar-Comando
en un sistema remoto.
Método 1:
Invocar-Comando -ComputerName $ ComputerName -ScriptBlock & rundll32.usuario exe.exe ExitWindowsExec
Método 2:
Invocar-Comando -ComputerName $ ComputerName -ScriptBlock & rundll32.usuario exe.exe ExitWindowsExec
6] Reinicia una computadora remota con Taskkill.exe
Por último pero no menos importante, Taskkill.exe
es otra utilidad de Windows que ofrece algunas funciones para reiniciar Windows, aunque de forma indirecta. Al terminar el lsass.exe
proceso, forzará un reinicio de Windows.
Taskkill.exe / S \\ computadora remota / IM lsass.exe / F
Eso es todo sobre las 6 formas de usar PowerShell para reiniciar una computadora remota!