Cómo controlar los servicios en ejecución con el comando SC [Windows]

Cómo controlar los servicios en ejecución con el comando SC [Windows] / Windows

Una de las cosas en las que me encuentro haciendo mucho más a menudo desde que me sumergí en TI es el monitoreo y la verificación del estado de los servicios que se ejecutan en las computadoras de toda la compañía..

Existe la forma estándar de administrar servicios que la mayoría de la gente usa porque es bien conocida y bastante fácil. Esto implica ir a los controles administrativos o al panel de control, buscar la utilidad de servicios y hacer lo que necesita hacer.

Si desea administrar los servicios que se ejecutan en una computadora o servidor diferente en su red, debe ir a administración de computadoras, conectarse a la máquina remota y luego administrar esos servicios..

No hay nada de malo en adoptar este enfoque: de hecho, los administradores de sistemas de todo el mundo usan estas utilidades estándar de Windows para administrar la infraestructura en toda la empresa. Pero, ¿qué pasaría si pudiera monitorear, detener e iniciar servicios escribiendo una sola línea en el símbolo del sistema??

Control de servicios desde la línea de comandos

Es posible que deba detener los servicios que se ejecutan en una computadora cliente para poder reinstalar algunos programas. O tal vez necesite reiniciar los servicios que se ejecutan en un servidor porque algunos programas no funcionan correctamente.

Hasta ahora, es probable que haya administrado servicios en las máquinas cliente que se ejecutan en su red utilizando la utilidad de servicios estándar. Esta es la herramienta de Servicios que inicia en el Herramientas administrativas sección del panel de control.

En Herramientas de administración, puede ir directamente a la herramienta Servicios o abrir la administración de la computadora si desea acceder a una computadora diferente en su red.

Para acceder a una computadora diferente, simplemente haga clic en acción, “Conectarse a otra computadora” y luego escriba el nombre de red de la computadora.

Entonces puedes abrir la herramienta de servicios..

Una forma más fácil de gestionar servicios

Así que de todos modos, ese es el camino largo. La forma más corta y rápida es usar el comando “CAROLINA DEL SUR”.

Probablemente estés familiarizado con el comando NET. El comando SC es casi idéntico a NET, excepto que también puede crear un servicio, además de monitorearlo, detenerlo e iniciarlo. Lo mejor de todo es que puede emitir el comando SC contra otras computadoras a través de la red (suponiendo que tenga derechos de administrador).

Hacer una consulta de SC contra una computadora le dará todos los servicios instalados y si se están ejecutando. Cuando emites el comando “SC \\ ** nombre de equipo ** consulta | más” - obtendrá una salida como se muestra aquí.

Como puede ver, esto le da el estado del servicio, el tipo de servicio y otros parámetros. Por el bien de nuestros ejercicios aquí, vamos a prestar atención solo al estado de los servicios.

Si desea enumerar solo los servicios que actualmente no se están ejecutando (detenido), emitirá el comando, “SC \\ ** nombre de equipo ** estado de consulta = “inactivo” | más”

La parte más del comando hace que la salida se detenga en cada pantalla para que pueda desplazarse.

Como puede ver, todos los servicios están detenidos. Ahora, en lugar de tener que revisar todos esos servicios, si conoce el nombre del servicio, solo puede emitir el comando “SC \\ ** nombre de equipo ** consulta ** nombre de servicio **”

Eso informará al estado actual de solo ese servicio y nada más. Para detener un servicio de forma remota, todo lo que tiene que hacer es emitir el comando de detención, “SC \\ ** nombre de computadora ** parada ** nombre de servicio **”

La salida mostrará un estado de “STOP-PENDING”, pero después de unos momentos, si vuelve a consultar ese servicio, verá que ya no se está ejecutando. Puede iniciarlo emitiendo el mismo comando, pero reemplazando “detener” con “comienzo”.

Creación de un script para consultar, detener o iniciar cualquier servicio

Bien, ahora que ya tienes lo básico, es hora de escribir una secuencia de comandos que detenga cualquier servicio que desees sin la necesidad de recordar la cadena de comandos exacta. Podemos hacer esto escribiendo un script de Windows confiable, de la siguiente manera.

 

Cuando ejecute este script, le pedirá el nombre del servicio que desea detener o iniciar.

Y luego si desea detener o iniciar el servicio.

Utilizando la “>> c: \ temp \ results.txt” comando, envía los resultados de detención e inicio y errores a un archivo de texto que puede usar para ver si el comando funcionó.

Cuando ejecuté el script anterior, lo seguí con una consulta rápida del servicio antes y después de ejecutar el script.

Como puede ver, el servicio que detuve, ayuda a vc, se estaba ejecutando. Ejecuté el Script de Windows para detenerlo, lo consulté y se detuvo.

Si deseaba ser realmente sofisticado, podría agregar una sección al script que generara todos los servicios actualmente instalados en la PC en un archivo de texto que podría revisar antes de decidir qué servicio detener o iniciar. El comando para eso sería “sc \\” & strComputer & ” consulta> c: \ temp \ services.txt”.

Como puede ver, el comando SC puede ser una forma bastante poderosa y eficiente de administrar servicios en cualquier computadora, y si tiene algo de talento con Windows Scripting, incluso puede automatizar el proceso para facilitar su trabajo..

¿Crees que el comando SC te puede ser útil? ¿Qué pasa con un script automatizado que ejecuta el comando? Comparte tus ideas y pensamientos en la sección de comentarios a continuación.

Crédito de la imagen: Shutterstock

Explore más acerca de: Mantenimiento de Computadoras, Programación, Monitor de Sistema.