miércoles, enero 11, 2012

Forzar el stop de un servicio en Windows XP

El día de hoy se me presentó el problema de que un servicio (Telephony) por alguna razón no podía ser detenido en mi sistema usando la opción stop en el administrador de servicios (services.msc) de Win XP, simplemente se queda la barra de avance indicando que está esperando a que termine, pero después de un tiempo me mandaba el mensaje con un error 1053 de que el servicio no estaba respondiendo por lo cual no se pudo detener.

Me puse a investigar como poder hacerlo de manera forzada y esto es lo que encontré en dos sencillos pasos:

1. Obtener el identificador del proceso PID asignado al servicio que se quiere detener, usando el siguiente comando:

sc queryex <servicename>

Donde <servicename> es el nombre del servicio, OJO no es el display name que se ve en services.msc. Para obtenerlo en services.msc da clic derecho sobre el servicio y propiedades verás el verdadero nombre del servicio.

Por ejemplo en mi caso el display name del servicio que quiero detener es Telephony (ese es el nombre a desplegar para que sea amigable para el usuario no el nombre real del servicio), pero si me voy a botón derecho y propiedades veo que el verdadero nombre del servicio para el sistema es: TapiSrv

Entonces ejecuté:

sc queryex TapiSrv

Lo cual me regresó:

SERVICE_NAME: TapiSrv
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 7  PAUSED
                                (STOPPABLE,PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 1272
        FLAGS              :

Aquí el dato importante es el PID : 1272

2. Ya con el PID usamos el siguiente comando para detenerlo de manera forzada:

taskkill /F /PID <PID>

-Donde <PID> es el que obtuvimos en el paso anterior, por lo cual ejecuté lo siguiente:

taskkill /F /PID 1272

-El comando regresó lo siguiente:

SUCCESS: The process with PID 1272 has been terminated.

Misión cumplida


miércoles, enero 04, 2012

Instalando Aventail VPN client

En mi actual proyecto en el trabajo estoy usando Aventail VPN Connection para conectarme a la VPN del cliente, sin embargo a la hora de querer instalarlo en Windows XP tuvimos muchos problemas (prefiero el cliente VPN de CISCO ese nunca nos dio lata), por si a alguien le sirve les platico mi experiencia y como se resolvió.
Una de las cosas que dificultó encontrar el problema es que el instalador de Aventail VPN Connection es un instalador silencioso, es decir, no te muestra ninguna barra de progreso ni señal alguna de lo que está haciendo. Se supone que al correr el instalador el hace su trabajo y al final te deja un ícono en tu escritorio, lo cual no ocurría en mi máquina osea nunca aparecía el ícono y no mandaba ningún mensaje de error.
Lo bueno es que unos compañeros en Querétaro habían tenido un problema similar y me pasaron el tip sobre como resolverlo, resulta que este software utiliza dos servicios de Windows que normalmente están apagados o deshabilitados, aquí los pasos a seguir:
1. En el menú Start o Inicio, seleccionar run o ejecturar y escribir "services.msc" al dar enter se abrírá el administrador de servicios de windows.
2. Localizar un servicio llamado "Telephony", hay que habilitarlo dando clic derecho --> propiedades y en la opción Startup type poner la opción Manual o Automatic , luego hay que correr el servicio presionando start o iniciar.
3. Localizar un servicio llamado "Remote Access Connection Manager", al igual que el anterior hay que asegurarse de que esté habilitado e iniciarlo.
Una vez teniendo corriendo esos servicios el instalador debe de trabajar correctamente, con lo cual aparecerá el ícono azul de Aventail VPN Connection en el escritorio de Windows.