Reiniciar un servicio es una tarea bastante común para cualquier administrador de sistemas, ya sea en un sistema local o en una computadora remota. Ahora echemos un vistazo a varias formas de iniciar, detener y reiniciar un servicio en una computadora remota.
Cómo obtener el nombre de un servicio
Antes de profundizar en las formas de operar el servicio remoto, primero verifiquemos cómo obtener el nombre correcto del servicio porque lo usará cualquier comando o cmdlet de PowerShell que se enumera a continuación.
Una cosa que vale la pena señalar es que los nombres enumerados en la columna Nombre en Servicios MMC no son el nombre del servicio que se utiliza en las líneas de comando siguientes. Son solo el nombre para mostrar de los servicios. Deberá abrir el cuadro de diálogo de propiedades del servicio para averiguarlo.
CAROLINA DEL SUR
Es una línea de comandos incorporada desde Windows XP. Interactúa con servicios locales y remotos con bastante facilidad de esta manera:
SC \computername STOP servicename SC \computername START servicename
Puede poner estos comandos en un archivo por lotes y ejecutarlo como un script de inicio de sesión o una tarea programada.
Si conoce el nombre del servicio que desea interactuar, SC es bastante fácil de manejar. Sin embargo, no funciona bien con aquellos servicios que tienen servicios dependientes en los que confiar.
Una cosa a tener en cuenta es que SC no tiene la opción de reiniciar el servicio. Por lo tanto, si necesita reiniciar un servicio remoto, deberá hacer DETENER y COMENZAR por separado.
Por cierto, puede usar SC para obtener el nombre del servicio, como se muestra a continuación:
SC GetKeyName "service display name"
PSService de Sysinternals
Si eres fan de Sysinternals de Windows, puede usar PSService.exe que funciona de manera similar a SC y también hace el trabajo. Incluye un interruptor que puede reiniciar el servicio.
psservice \computername restart service
Pero todavía no maneja bien el servicio con las dependencias.
Potencia Shell
Hay varias formas de lidiar con los servicios mediante PowerShell. Pero las siguientes secuencias de comandos me parecen las formas más fáciles.
Get-Service -ComputerName computername -Name servicename | Restart-Service -Force Get-Service -ComputerName computername -Name servicename | Stop-Service -Force Get-Service -ComputerName computername -Name servicename | Start-Service
los -Fuerza El parámetro aquí es tratar con el servicio con las dependencias.
Básicamente, el Obtener servicio cmdlet con -Nombre del computador devuelve una referencia de objeto al servicio en la pregunta. Y luego canalice el resultado a Comienza el servicio, Parada de servicio, o Reiniciar servicio para realizar las respectivas acciones.
También puede agregar el Conexión de prueba cmdlet en el script para probar la conexión remota antes de consultar el servicio.
Gerente de servicio MMC
Y, por supuesto, siempre podemos utilizar el MMC de Service Manager integrado (services.msc) para realizar el trabajo también. Para conectarse a una MMC de servicios remotos, haga clic en el nombre de Servicios en el panel izquierdo, vaya a Acción, luego Conectarse a otra computadora…
Una vez conectado, puede operar los servicios como lo hace en el sistema local.