Servicios en Windows por línea de comando


Una de las continuas luchas con Windows, y tambien con las instalaciones siguiente – siguiente de linux, es que nos encontramos con muchos mas servicios levantados de los necesarios. Con windows es algo particularmente doloroso, en cuanto a consumo de recursos, por curiosidad mirar el arranque de Windows 7, sólo al levantarse puede consumir mas 1,2 Gb de memoria en procesos.
Si tenemos un PC de Sobremesa se puede revisar la configuración del arranque y optimizarla para lo que vamos a necesitar. Pero si tenemos un portátil nos encontramos en la tesitura de arrancar muchos servicios que sólo nos van a hacer falta en algún momento. Hay varias alternativas a esta situación poco deseable:
  • Resignarnos.
  • Si nos aburrimos (o desesperamos) ir apagando lo que nos sobren en el momento a mano.
  • Crear varios perfiles HW y configurar los servicos que se arranquen en función de los perfiles HW. A mi esto me resulta pesado ya que ralentiza el arranque y me despisto cuando tengo que seleccionar la opción deseada, así que finalmente generalmente arranco en una configuración no deseada.
  • Crear algún script que nos deje los servicios como nos gusta. El arranque seguirá siendo pesado, pero es mejor que parar los servicios a mano.
Vamos a ver como parar y arrancar los servicios desde línea de comandos, que es lo que nos permitirá crear el script. Tenemos varias opciones para parar y arrancar servicios: net, sc y Netsvc.exe e Instsrv.exe para trabajar con un equipo remoto.
NET es una utilidad del sistema operativo windows Win2k y XP que sirve para acceder a servicios de red. Permite hacer muchísimas cosas y entre ellas está la posibilidad de arrancar y parar un servicio
  • Para iniciar un servicio: Net start nombre_del_servicio
  • Para detener un servicio: Net stop nombre_del_servicio
Ejemplos:

C:Documents and Settings>net stop “Actualizaciones automáticas”
El servicio de Actualizaciones automáticas está deteniéndose.
El servicio de Actualizaciones automáticas fue detenido con éxito.

C:Documents and Settings>net start “Actualizaciones automáticas”
El servicio de Actualizaciones automáticas está iniciándose.
El servicio de Actualizaciones automáticas se ha iniciado con éxito.

Sc.exe, que se incluye en el Kit de recursos, implementa llamadas a todas las funciones de la interfaz de programación de aplicaciones (API) de control de servicios de Windows a traves de la línea de comandos. Muestra el estado de los servicios, los para, arranca, recupera los valores almacenados en los campos de estructura de estado, … . Permite especificar el nombre de un equipo remoto para trabajar con los servicios de forma remota.
La sintaxis del comando es sc [nombreDeServidor] Comando nombreDeServicio [nombreDeOpción = valorDeOpción…]. Así:
  • Para iniciar un servicio: sc start nombre_del_servicio
  • Para detener un servicio: sc stop nombre_del_servicio
  • Para consultar los servicios corriendo: sc query
Ejemplos:

C:Documents and SettingsDS00671>sc start wuauserv 

SERVICE_NAME: wuauserv

        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 2  START_PENDING
                                (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x7d0
        PID                : 1356
        FLAGS              :

C:Documents and SettingsDS00671>sc stop wuauserv
SERVICE_NAME: wuauserv
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 3  STOP_PENDING
                                (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x1
        WAIT_HINT          : 0x7530

Para ver el nombre del servicio podemos hacerlo desde sc query o desde la interfaz gráfica de gestión de servicios (ejecutar … Services.msc … botón derecho + Propiedades sobre el servicio en cuestión).



NOTA: Con NET se puede usar tanto el nombre del servicio como el nombre para mostrar (“Actualizaciones Automáticas” y “wuauserv”). Ojo con la codificación a la hora de hacer scripts. Los acentos dan un poco de guerra.

Compartir
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *