jueves, 1 de septiembre de 2011

Creación de archivos por lotes para pequeñas cosas. Parte 2: Iniciar/detener servicios con un script.

En esta segunda parte, realizaremos un nuevo archivo por lotes para otro tipo de trabajos y funciones, exactamente en la iniciación y detención de servicios del sistema operativo (Esto es, los servicios de Windows, o para ser exactos, los que aparecen en la pestaña Services.msc), pero de forma apilada y secuencial (Lo que viene a ser que con un ejecutable por lotes se activen X servicios, o se desactiven).

Para ello, tomaremos otro ejemplo "de la vida real".

Pongamos el ejemplo de un programa que necesite la activación de una serie de servicios para que funcione correctamente. Como ejemplo, pondré un programa que sí necesita de una serie de servicios para funcionar: VMware Workstation y sus productos.

Por defecto, VMware, al instalarse, activa una serie de servicios automáticos en Servicios para que al iniciar el ordenador, dichos servicios del programa se activen y así pueda funcionar todo con normalidad.

Ahora supongamos que nosotros no queremos que dichos servicios se activen automáticamente, quizá porque nos ralentiza mucho el sistema o porque tenemos una memoria RAM muy limitada. De la forma tradicional, deberíamos ejecutar la pestaña de servicios en Panel de Control > Herramientras Administrativas > Servicios y a partir de ahí desactivarlos o activarlos uno por uno ¿No?

De forma recurrente, encontré una solución para evitar ejecutar cada tanto rato los Servicios y no malgastar un tiempo valioso.

Por consola de comandos, descubrí que existe una opción para ejecutar servicios fácilmente. Usando el comando Net Start y el servicio a ejecutar, éste se iniciaba. De forma lógica, si ponía Net Stop y el servicio, éste se detenía.

Visto para sentencia, elaboraremos los archivos que necesitamos para ello:

Antes de su creación, vamos a realizar una pequeña comprobación técnica en los servicios:

En VMware hay 5 servicios necesarios:
  • VMware Agent Service
  • VMware Authorization Service
  • VMware DHCP Service
  • VMware NAT Service
  • VMware USB Arbitration Service
Como nuestro ordenador los inicia, lo primero que vamos a hacer es activarlos como Manual para que al iniciar el ordenador, seamos nosotros los que activemos o desactivemos el servicio y no se active solo.

Una vez realizado en los 5, pasaremos a apuntar su Nombre de servicio, que no es el que viene en el programa de Servicios, sino Dentro de la ficha del servicio. Pulsamos en las propiedades del programa y aparecerá el Nombre del servicio. Así, por ejemplo:

  • VMware Agent Service tiene como nombre ufad-ws60
  • VMware Authorization Service tiene como nombreVMauthdserv
  • VMware DHCP Service tiene como nombreVMnetdhcp
  • VMware NAT Service tiene como nombre VMware NAT Service
  • VMware USB Arbitration Service tiene como nombre VMUSBArbService
    Una vez tengamos las referencias, creemos los archivos:

    Crearemos primero el archivo de inicio de servicios. Para ello, iniciamos Notepad y escribimos los servicios con su nombre de servicio que hemos especificado antes:


    net start ufad-ws60
    net start VMAuthdService
    net start VMnetDHCP

    net start VM NAT Service
    net start VMUSBArbService


    Una vez puesto, lo guardaremos con extensión .bat 
    Por ejemplo, VMwareON.bat

    PD: Si no queremos entrar en los procesos uno por uno para saber el nombre de proceso, podemos recurrir a un método alternativo: Encerrar el servicio entre comillas en el archivo que estamos creando. Así, por ejemplo, en vez de net start ufad-ws60, podríamos poner net start "VMware Agent Service".

    El archivo de detención de servicios será con la otra opción, con Net Stop, así, nos quedará algo así como


    net stop ufad-ws60
    net stop VMAuthdService
    net stop VMnetDHCP

    net stop VM NAT Service
    net stop VMUSBArbService


    Guardamos el archivo también como .bat.
    Por ejemplo, VMwareOFF.bat


    Listo. Ahora, cuando queramos iniciar los servicios del VMware ejecutaremos VMwareON.bat y se iniciarán, y para detenerlos, usaremos VMwareOFF.bat 


    PD: Se requieren permisos de administrador para realizarlo. Por ello, si usamos Windows 7 y Windows Vista daremos con botón derecho en el archivo y Ejecutar como administrador.

    Fuente:
    Servicio técnico de Microsoft
    Experiencia propia

    Para terminar, les dejo una canción:


    Ama... Ama... Ama... ¡Y ensancha el alma!
    Extremoduro.

    No hay comentarios:

    Publicar un comentario

    Comenta si te gustó la entrada, algún error que tenga, o simplemente entra a debatir si tienes algún problema, pues recuerda que aquí todo es posible y nada es seguro (Y a lo mejor a mí se me ha podido ir la pinza y escribir algo mal)

    Por favor, sé conciso y ten buena escritura, que aquí no se cobra por letras ni palabras a usar. Los comentarios estilo HOYGAN o descalificativos no serán publicados.