martes, 20 de mayo de 2008

Matar procesos en Windows XP/2003

Imaginad que tenéis un script que te para y te vuelve a arrancar un servicio, pero por lo que sea, el proceso no se para de manera automática, sino que tarda unos segundos (o se quedan procesos pululando por el sistema). En este caso, rearrancar el servicio no te sirve de mucho porque o no se arranca bien, o te abre más instancias de las necesarias y siempre es un problema.

El caso es que lo ideal entre la parada y la arrancada del servicio sería matar los procesos que queden vivos de alguna manera. Yo he encontrado un comando (que por lo visto funciona en XP y en 2003 Server) que realiza esta tarea de una manera muy efectiva:

Desde la línea de comandos, la idea es matar el proceso. Sabiendo el nombre exacto (notepad.exe, winword.exe, firefox.exe, iexplore.exe), podemos matarlo y quedarnos más anchos que largos...
Inicio --> Ejecutar --> cmd (Aceptar)

Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\Documents and Settings\Administrator> taskkill /IM nombre_del_proceso.exe

Y punto pelota.

De todas maneras, en algún caso me he encontrado con que no puede acabar con el proceso porque hay que forzarlo (usando la opción /F). En este caso, la forma correcta es:

taskkill /F /IM nombre_del_proceso.exe

O si lo queremos hacer con el Process ID (PID), lo hacemos así:

taskkill /PID pid_del_proceso_a_matar

Si queréis saber más utilidades de este comando, podéis usar la ayuda. La verdad es que es bastante versátil.

lunes, 12 de mayo de 2008

Windows Vista y Telnet

Por defecto, Windows Vista no trae habilitadas muchas funciones básicas para administradores de sistemas, como puede ser el servicio SNMP o el protocolo TELNET. Habilitarlos es algo relativamente sencillo, pero bastante importante si, como en mi caso, nos dedicamos al área de networking.

Se trata de hacer
Inicio --> Configuración --> Panel de Control --> Programas y Características --> (menú izquierda) Activar o desactivar las características de Windows

Esperamos a que se cargue la ventana y activamos/desactivamos las opciones que nos interesen. En este caso (para activar el telnet) yo habilito las opciones de

Servidor Telnet
Cliente Telnet

y para el caso del SNMP simplemente habilitamos la Característica SNMP.

Aceptamos y esperamos a que se instalen los servicios requeridos y punto pelota.

viernes, 9 de mayo de 2008

Alta de usuario en SQL Server (Enterprise Manager 2005)

Este post va dedicado a mí: esta mañana nos hemos pasado una hora para una tontería tan tonta que casi me da vergüenza aceptarlo. Pero bueno, como de los errores se aprende, no me arrepiento.

A ver, abrimos el SQL Enterprise Managerm en mi caso

Inicio --> Programas --> Microsoft SQL Server --> Administrador Coporativo

y desplegamos hasta localizar la carpeta Seguridad. La desplegamos también y nos vamos a Inicios de Sesión y (botón derecho -->) Nuevo Inicio de Sesión.

El usuario que vamos a crear será sólo para SQL, nada que ver con la autentificación Windows, así que en Nombre ponemos el nombre que hayamos pensado y habilitamos la opción "Autentificación de SQL Server" y escribimos la contraseña que queramos. En Base de Datos (en el apartado Predeterminado) seleccionamos la base de datos (la principal si son más de una) para la que este usuario tendrá permisos (si no está porque aún no la has dado de alta, te das cuenta que has empezado la casa por el tejado).

Buscamos la pestaña Acceso a Base de Datos y seleccionamos todas las BBDD a las que tenga que tener acceso, y el nivel de acceso. Cuando marcamos una BDD, en el recuadro de abajo aparecen las diferentes funciones que puede hacer el usuario. Por defecto, viene marcada public, pero si queremos que el usuario pueda administrarla marcaremos bd_owner.

[Aquí había estado mi fallo: había marcado una opción que no tocaba]

Salvaremos, saldremos y ya estará el usuario creado. Si queréis ver si este usuario tiene permisos realmente, abrid el Analizador de Consultas, logaros con ese usuario y haced alguna consulta contra alguna de las BDD a las que tenga acceso, del estilo
select * from tabla

y para que se ejecute, clickad en el play que hay arriba. Si no devuelve ningún error, está todo bien. Si no, repasad vuestros pasos.

Para dar de alta una base de datos: Fácil, desde el propio Enterprise Manager, váis a Bases de Datos y (botón derecho -->) Nueva Base de Datos. Se abre una ventana, donde tendréis que poner el nombre de la nueva base de datos. Y (no es necesario) también podéis indicarle dónde queréis que el sistema guarde los archivos de la base de datos y el registro de transacciones. El primero son los datos de la base de datos, y el segundo un registro de los movimientos que se hacen en esa base de datos. A veces va bien poder elegir dónde los guarda, sobre todo cuando en la unidad C: (donde se guarda normalmente por defecto) no hay mucho espacio, ya que esto ocupa mucho espacio.

Una vez creada la base de datos, si queremos importar algún backup, nos pondremos encima y (botón derecho -->) Todas las tareas --> Restaurar Base de Datos. Si de la copia de seguridad tenemos un archivo .BAK (lo más normal si es un backup del propio SQL), seleccionaremos Desde Dispositivo, y en Dispositivo seleccionaremos el archivo .BAK que queramos restaurar. Y aceptar, y él sólo restaura. Si veis que os da algún error, es probable (si el backup era de otra máquina, con otra configuración) que vosotros no tengáis la misma estructura, y, por ejemplo, que en lugar de guardar los archivos en la D: como se hacía en la otra máquina, los guardéis en la C. Sólo tendréis que cambiarlo en la pestaña Opciones. Simplemente habrá que tener en cuenta estos pequeños detalles y no habrá problema para restaurar.

Ale, cómo me he enrollado. Espero que quede claro. Cualquier duda, dejadme un comentario!!!!

martes, 6 de mayo de 2008

Programar la parada/arranque de un servicio en Windows

Después de tiempo sin postear nada, aquí va una pequeña perla de sabiduría...
Algo bastante sencillo y que os puede sacar de algún apuro en algún momento.

Para programar la parada/arranque de un servicio de Windows, vamos a crear un archivo bat (lo_que_sea.bat) muy sencillito, e incluiremos

NET STOP "xxxxx"
NET START "xxxxx"

donde xxxxx es el nombre del servicio de Windows que queremos parar (NET STOP) o arrancar (NET START). El nombre es el que aparece en Servicios, no el nombre del ejecutable ni nada de eso, así de sencillo.

Bueno, yo aquí lo he hecho de manera que el script primero pararía el servicio y después lo arrancaría, lo que sería equivalente a reiniciarlo.

Y una vez tenemos el script y hemos comprobado que funciona, habría que programarlo para que se ejecute cuando sea requerido. Esto lo hacemos con la función de Tareas Programadas

Inicio --> Programas --> Accesorios --> Herramientas de Sistema --> Tareas Programadas

indicándole qué queremos ejecutar (el .bat) y cuando. Y ya está.
Estad un poco por el tema al menos la primera vez que se tenga que ejecutar, para comprobar que se hace bien.

Y por hoy, ya es bastante...! Con esto y un bizcocho...

lunes, 7 de abril de 2008

15 signos de que eres adicto a Linux

Navegando por ahí encontré esta web, que me pareció bastante curiosa. Para los que no dominen la lengua del imperio de su graciosa majestad, os dejo aquí la traducción

  • Llevas contigo un LiveCD cuando vas a usar un ordenador que no es el tuyo.
  • Cada vez que un amigo te cuenta lo lento que va su PC debido a virus, adware, etc. tu le comentas que instale Linux.
  • Quieres un pingüino de mascota.
  • Comprendes lo que significa el comando mv windows /dev/null.
  • Tu página de inicio es http://www.google.com/linux
  • Eres miembro de un grupo local sobre Linux.
  • Tienes instalado Linux en el ordenador de tus padres.
  • Conoces la definición africana de la palabra Ubuntu.
  • Sabes quién es Linus Torvalds.
  • Sabes quién es Hans Reiser y de que fue acusado

Bueno, y estos son mis resultados del test... un poco adicta sí que soy, para qué negarlo.

  • No, no llevo siempre un CDLive cuando trabajo en otro ordenador, pero lo que sí que es verdad es que me aseguro de llevarlo siempre en la bolsa del portátil: nunca se sabe...
  • No, más bien le digo que se instale un antivirus potente y gratuito, por ejemplo el WinClam, y que se pase un programa que quite bien quitados cualquier tipo de malware. Aquí suelo recomendar el de eWido.net.
  • TENGO un pingüino de mascota... de peluche, pero sirve igual.
  • Me reí mucho cuando lo ví por primera vez... sí, lo entiendo.
  • Em... no. Más bien es www.google.es
  • Sip, de CaLiU (Cathalan Linux User), www.caliu.cat.
  • Sí, en el portátil de mi padre hay una ubuntu. Él sabe que está "por si algún día pasa alguna cosa".
  • Sip, sin mirar la wikipedia: humanitu towards othes. Qué pasa, trabajo con Ubuntu!!!!
  • Linus?? DIOS! Jajajaja... no, no tanto... un visionario.
  • De matar a su mujer... vale, ésta sí que la he mirado en la wikipedia.

Bueno, vosotros diréis si os lo parece o no...

lunes, 31 de marzo de 2008

MySQL, cuando el cliente o el servidor están obsoletos

O no llego, o me paso.

O no posteo en semanas, o me repito en un día. Pero hay días que te encuentras con cosas curiosas que acabas encontrando la solución, y no voy a dejar de postear por eso mismo...

Aquí va la segunda entrada de hoy.

Intentando conectar desde un cliente MySQL (5.0x) a un servidor (3.x, aunque esto sirve para versiones anteriores a 4.1.1), me devolvía este error:

Client does not support authentication protocol requested by server; consider upgrading MySQL client

La gracia es que no podía actualizar el cliente porque está en una máquina poco estable, obsoleta pero que de momento aguanta (y aquí nos guiamos muchas veces por eso de "si funciona, no lo toques"), así que he tenido que buscar otra solución. Googleando por ahí, he visto que el problema es debido a la diferencia de versiones, y que a partir de la 4.1.1, las contraseñas se encriptan de otra manera, por lo que no se puede validar. La idea es que, para los usuarios que se tienen que conectar entre estas dos máquinas, vamos a poner el formato antiguo de la contraseña. Y lo hacemos de la siguiente manera:

root@Tuxxxy:~# /var/log/mysql# mysql -p -h localhost -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.0.32-Debian_7etch5-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> set password for 'user'@'host' = OLD_PASSWORD('mysql');
Query OK, 0 rows affected (0.00 sec)

donde password es la contraseña de ese usuario, user el usuario y host el servidor remoto desde el que te conectas.
Después un

mysql> flush privileges;
y arreando, que es gerundio!

Windows Vista y módem USB Huawei E220 de Vodafone

Hace unas semanas, entró en casa mi enano. Mi enano no es más que mi nuevo portátil, y aunque no sea nada del otro mundo, para mí está muy bien (es un Acer Aspire 5920...)

El caso es que el enano traía un intruso, también conocido como Windows Vista. Mi primer impulso fue formatear: "formateo, meto Windows XP y una partición con una Debian, y arreando". Ja. Anda que no me las prometía yo felices. Al intentar formatear, el disco de Windows XP me decía que no había medios particionables. "Que no qué!!?? Será ~%k#ñ&$!!" es lo único que me salía de la boquita.

El caso es que decidí dejar Vista, aunque me doliera, y mira, eso que tenía ya avanzado para cuando se estandarizara. Debo decir que cada vez me gusta menos, y que la interfaz me recuerda mucho a un escritorio KDE bien tuneado. Pero bueno, poco a poco voy trabajando con él. Cada paso me cuesta horrores. El primer problema fue la VPN de SonicWall, que no había manera de instalarla. Un conflicto con una librería llamada ntdll.dll me traía de cabeza. La solución fue fácil: dejé apartado el tema durante la semana santa y al probarlo después, se instaló sin problema. Fui instalando otros programas necesarios para trabajar, hasta que me encontré con otro problemilla, que es con el que estoy ahora.

En el trabajo tenemos un módem 3G para conectarnos durante las guardias. Es de Vodafone, y es un Huawei E220 que, extrañamente, no funciona con Windows Vista. Después de mucho buscar en foros y que no diera resultado nada, caí (gracias Pablo) en pasarme por la web de Vodafone, para ver si decía alguna cosa. Y sí! Por fin encontré una solución...

Id a la página de Vodafone para ver la solución... Básicamente hay que actualizar el firmware del módem, y aunque la operación es sencilla, el proceso es delicado, porque si por cualquier motivo se queda colgado, el módem se va a pastar...

Bueno, yo lo dejo ahí. Allá cada uno con lo que hace...