miércoles, 23 de marzo de 2016

Cómo forzar la parada de un servicio.

En ocasiones, si somos administradores de SharePoint, nos encontraremos que algún servicio que hemos intentado arrancar en algún servidor, se queda eternamente en estado "Starting", sin llegar nunca a finalizar su puesta en marcha, y sin darnos la opción de pararlo tampoco desde la interface de la Administración central: Application Management  --> Service Applications --> Manage services on server.


El por qué se quedan colgados estos servicios, y cómo evitar ese comportamiento puede ser un post muy largo que no abarcaré hoy, sin embargo sí que explicaremos cómo se puede forzar la parada de un servicio. Como siempre, PowerShell acude a nuestro rescate.

Lo primero que tendremos que hacer es encontrar el ID del servicio que se ha quedado colgado. Para ello podemos abrir una consola de PowerShell en alguno de nuestros servidores de la granja de SharePoint (siempre en modo Administrador) y escribir el siguiente comando:

Get-SPServiceInstance > Services.txt

Esto nos generará un fichero txt con los detalles de todos los servicios (en la pantalla de la consola habría demasiado espacio como para listarlos todos).

Si abrimos el fichero resultante (con NotePad, por ejemplo), podremos buscar el nombre del servicio que queremos parar (en mi caso "User Profile Synchronization Service"). Una vez lo hayamos localizado, tendremos que anotar el valor del campo "Id" que aparecerá más abajo.


Y ya sin mas, podemos regresar a nuestra consola de PowerShell y ejecutar el comando Stop-SPServiceInstance, con el parámetro del ID que hemos copiado de nuestro fichero.

Stop-SPServiceInstance a192794c-f987-4a26-8a17-25a8e33df879

Antes de ejecutarse, nos pedirá confirmación (pulsamos 'y').


Una vez hecho esto, veremos que nuestro servicio se ha detenido correctamente.


A partir de aquí podemos intentar arrancarlo de nuevo, o realizar las acciones necesarias para evitar que se vuelva a quedar colgado antes de un nuevo reintento.

¡¡Un saludo!!

No hay comentarios: