Bosco López

El rincón de mis pensamientos

Eliminar Zlob Virus Alert!

En los últimos días son bastantes los pc’s que se encuentran que al lado de su reloj de windows tienen un mensaje que pone: "Virus Alert"

Este no es más que una variante del antiguo Zlob y el cual eliminaremos de la siguiente manera.

Descargaremos los siguientes archivos:

- FS-AVFix

- DelPSGuard

- MalwareBytes Anti-Malware.

 

Una vez descargadas las aplicaciones mencionadas, ejecutaremos

el FS-AVFix pulsando botón derecho sobre el y clickeando en Instalar.

Accederemos a Panel de Control Sistema, iremos a la pestaña Restaurar sistema y lo desactivaremos.

Reiniciaremos el equipo en Modo a prueba de fallos y ejecutaremos

DelPSGuard.

Una vez que termine ejecutaremos MalwareBytes.

Al terminar, reiniciamos el sistema y listo.

 

Salu2

Con la última versión de Windows Live Messenger, se nos permite instalar algunos componentes más, entre ellos Live Writer.

Al principio no le dí mayor importancia a este componente, pero hoy se me ha dado por probarlo y es realmente sorprendente.

Para comenzar, le diremos que ya tenemos un blog configurado, seleccionaremos otro servicio de blog y nos pedirá la dirección URL de nuestro blog y el usuario y contraseña para administrarlo.

Una vez que detecta y descarga cierta información sobre nuestro blog, nos solicitará el que le informemos que CMS utilizamos; elegimos Wordpress 2.2+ y pulsamos siguiente.

Ahora es el momento de designar la URL de la publicación remota; que es del tipo: http://nombredelhost/xmlrpc.php en mi caso http://www.boscolopez.com/xmlrpc.php

Y a disfrutar !!! :-)

Las sombras

La sombra perfecta es aquella que nunca puedes ver, la que girandote se gira contigo y cuando miras alfrente ella mira tu espalda.
Es complicado conocer a tu sombra ya que realmente siempre la tienes ahí pero no te das cuenta, ya que da tus pasos, algo más retardados pero los da. Aprovecha tus pasos, para repetirlos pero conociendo los errores o los aciertos.
Una sombra es una repetición, una vueltra atrás, una segunda oportunidad una mejora de ti mismo, de tus actos, de tus sentimientos, de tus movimientos… Como si de una partida de ajedrez se tratara.
Imaginemos que sacas un peón y tu contrincante un caballo, tu sombra sacaría un alfil, ya que conoce tu movimiento y el del contrincante. ¿Listo?. No.
Simplemente oportunista.
¿Cómo adelantarte a quien tienes pegado a tu espalda?
Cediendole el paso y quedandote en la retaguardia, ya que no hay mejor ataque que la defensa y no hay mejor defensa que el ataque.
La vida no es más que los giros de una peonza incontrolada; o acaso crees que alguien es capaz de pronosticar donde comienza el giro y el fin de una peonza.
Buscar en las líneas de vuestros pensamientos el razonamiento sobre estas frases y cuando lo encontreis intentar deducir cual es el sentido que tienen.

mv any questions /dev/null/

Para todos los pesados que siempre me están con el mismo tema… me voy a instalar estas dos versiones en una máquina virtual y os haré un manual, para que no me rompais los cuernos siempre con la misma pregunta.

Sistema operativo sobre el que montaré la máquina virtual: Windows Vista

Software para crear las máquinas virtuales: VmWare WorkStation

Live-CD 1: WifiSlax 3.1

Live-CD 2: WifiWay 1.0 Beta2

¿Propósito?: Obtener el mayor número de claves de redes wifi en el menor tiempo posible.

Equipo: Asus X20S

En unas horas lo tendreis con video incluído.

Algunos creen que lo saben todo, pero no han llegado ni a tocar la suela.

El maravilloso mundo de los NAS, es grande y tedioso.

¿Que pasaría si por un casual teneis un SC101T y se resetea la red?

Pues que tendríais que volver a activar el mirror para que vuelva windows a detectar la unidad de red; el problema es que este NAS instala un servicio que nada más que se inicia el sistema se pone a buscar el NAS y como no lo encuentre a la primera os dejará la interface completamente colgada (explorer.exe). Ya podeis poneros a ejecutar tantas veces como querais el servicio explorer.exe que le dará igual.

La solución más rápida es parar el servicio, desinstalar la aplicación,driver y servicio y volverla a instalar.

Pero si vuestro NAS SC101T tiene la luz de power iluminada intermitentemente a intervalos de 1 Blink, el problema ya es otro. El disco duro tiene algún tipo de error y la caja NAS no lo está reconocimiendo correctamente.

Como bien sabeis Netgear proporciona una aplicación que se llama z-scan y se ejecuta bajo MS-DOS.

Tirar con ella!!! no vale para nada.

Lo mejor es que os bajeis el z-scanplus

Una vez que os lo habeis bajado, procederemos a ejecutar una consola de MS-DOS.

El primer comando que ejecutaremos será:

1
z-scanplus listall

Lo que nos mostrará información del estilo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Network Adapter : VIA Rhine II Fast Ethernet Adapter
IP Address : 192.168.1.65
Subnet Mask : 255.255.255.0
Discovering uSAN with this network adapter, please wait...
Finding roots...
Found root IP = 192.168.1.66
root 192.168.1.66 "ZSAN Drive 1" has 1 partitions
Market class=0 64, Manuf code=9 64 241, Part num=0 0 101
================================================== =============================
VERSION : 4.23.0 ROOT IP ADDR : 192.168.1.66
 
TOTAL(MB): 238470 # PARTITIONS : 1
FREE (MB): 202630
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PARTITION LABEL IP ADDR SIZE (MB)
 
9E3B2570-5636-11DA-83A8-00110941E71.s1 SC-Myra-02 192.168.1.68 35840
================================================== =============================
1 MicroSAN found within subnet 192.168.1.255

Una vez echo esto, ejecutaremos el siguiente comando:

1
z-scanplus GETPART 192.168.1.66 192.168.1.68 password

Si no habeis cambiado la contraseña por defecto es “password”
Los datos que ponemos es la Root IP y la IP de la partición en este caso:
Root IP: 192.168.1.66
IP de la partición o Mirror: 192.168.1.68

Este comando nos podría mostrar los siguientes resultados:

- Wrong Token (El disco no es leído correctamente)

ó

1
2
3
4
5
6
7
8
9
10
11
12
13
================================================== ============================
USER NAME : SC-Myra-02
UNIQUE NAME : 9E3B2570-5636-11DA-83A8-00110941E71.s1
READ TOKEN :
WRITE TOKEN :
ATTRIBUTE : 00 00 00 00 00 00 FF 00 01 00 01 00 00 00 02 00
: 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE key
r r r r r r r MC MC VM VM BS r r Str/Wr/Sp/Sh/Ow
================================================== ============================
MirrorCount=1 ValidMirrorCount=1 StripeBlockSize=0 (0 KBytes)
Owned=0 Shared=1 Spanned=0 Written=0 Striped=0
FORWARD state=15 ("unknown")
COPYTO state=15 ("unknown"), progress=0 (0%)

Vale!!!! parece que todo funciona… pero al hacer el attaching, nuestro equipo se queda congelado y nunca lo termina de hacer.
La solución más fácil es:

1
z-scanplus remvpart 192.168.1.68 password

Lo que hacemos es pasarle el valor de la IP de la partición y la contraseña. Nos preguntará si estamos
seguros de que la queremos eliminar, le decimos que sí ya podemos volver a ejecutar la Netgear Manager Utility y volver a crear nuestra partición sin problemas.

Mi consejo para que esto no os vuelva a pasar, es que designeis en el DHCP las 3 IP´s que usa el NAS como predeterminadas para su MAC.
Espero que os sea de ayuda :)

ASUS X20S + Linux

Si habeis tenido algún problema con el sonido de este portátil en linux, la solución es bastante sencilla.

Compilamos Alsa 1.0.15

Editamos el archivo alsa-base y elegimos como modelo “lenovo”

Guarda el archivo,sube el volumen y disfruta

Cierre cautelar de Animersion

Desde la noche de ayer los administradores de Animersion han preferido cerrar cautelarmente la web, el tracker y el foro.
En el canal de IRC se ha comentado que ha sido una decisión tomada al recibir una denuncia… La cual aun no se sabe de quien procede; o por lo de ahora han preferido no decirlo.
Al ser una web/foro que no posee publicidad, posiblemente esté abierta en unos días, ya que era una web mantenida a base de donaciones y el dinero de los administradores del site.

Suerte y a por todas!

Visual Studio 2005 nos trae una preciosa plantill para integrar en nuestras aplicaciones un formulario de inicio

o registro de usuario; lo más gracioso es que cuando miras el código, el link para obtener información ha expirado o no se encuentra.

El siguiente problema es encontrar algún manual donde te expliquen hacer este sistema contra una BDD de MySQL; así que como yo no encontré esa información os paso a pegar aquí el código para realizarlo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
Imports MySql.Data
Imports MySql.Data.MySqlClient
Public Class LoginForm3
    Private veces As Integer = 0
    Private Const NumeroIntentos As Integer = 3
    Private cadenaCnn As String = "Server=servidor.com;Database=bdd;Uid=usuario;Pwd=password"
 
    Private Function comprobarUsuario( _
             ByVal nombre As String, _
             ByVal clave As String) As Boolean
 
        ' Conectar a la base de datos
        Dim cnn As MySqlConnection = Nothing
        '
        Try
            ' Conectar a la base de datos de MySQL
            ' (la cadena debe estar inicializada previamente)
            cnn = New MySqlConnection(cadenaCnn)
            cnn.Open()
 
            ' Definir la cadena que vamos a usar para comprobar
            ' si el usuario y el password son correctos.
            ' Utilizo parámetros para evitar inyección de código.
            Dim sel As New System.Text.StringBuilder
 
            ' Usando COUNT(*) nos devuelve el total que coincide
            ' con lo indicado en el WHERE,
            ' por tanto, si la clave y el usuario son correctos,
            ' devolverá 1, sino, devolverá 0
            sel.Append("SELECT COUNT(*) FROM administradores ")
            sel.Append("WHERE Administrador = ?Administrador AND password = ?password")
            ' Definir el comando que vamos a ejecutar
            Dim cmd As New MySqlCommand(sel.ToString, cnn)
            ' Creamos los parámetros
            cmd.Parameters.Add("?Administrador", MySqlDbType.VarChar, 50)
            cmd.Parameters.Add("?password", MySqlDbType.VarChar, 45)
            '
            ' Asignamos los valores recibidos como parámetro
            cmd.Parameters("?Administrador").Value = administrador
            cmd.Parameters("?password").Value = password
            '
            ' Ejecutamos la consulta
            ' ExecuteScalar devuelve la primera columna de la primera fila
            ' por tanto, devolverá el número de coincidencias halladas,
            ' que si es 1, quiere decir que el usuario y el password son correctos.
            Dim t As Integer = CInt(cmd.ExecuteScalar())
            ' Cerramos la conexión
            cnn.Close()
            '
            ' Si el valor devuelto es cero
            ' es que no es correcto.
            If t = 0 Then
                Return False
            End If
 
        Catch ex As Exception
            MessageBox.Show("ERROR al conectar a la base de datos: " & vbCrLf & _
                        ex.Message, "Comprobar usuario", MessageBoxButtons.OK, _
                        MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)
            Return False
        Finally
            If Not cnn Is Nothing Then
                cnn.Dispose()
            End If
        End Try
        '
        ' Si llega aquí es que todo ha ido bien
        Return True
    End Function
 
    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        If comprobarUsuario(Me.UsernameTextBox.Text, Me.PasswordTextBox.Text) Then
            Form1.Show()
        Else
            ' Permitir varios intentos
            veces = veces + 1
            If veces < NumeroIntentos Then
                Label1.Text = "Quedan " & (NumeroIntentos - veces) & " intentos"
                Exit Sub
            End If
            Me.DialogResult = DialogResult.No
        End If
        Hide()
    End Sub
 
    Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
        Me.Close()
    End Sub
 
End Class

Ahora en el código del formulario Form1 pondremos lo siguiente:

1
2
3
4
5
6
7
8
9
Public Shared Sub Main()
        Application.EnableVisualStyles()
 
        Dim fAcceso As New LoginForm3
        If fAcceso.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            fAcceso.Close()
            Application.Run(New Form1)
        End If
    End Sub

Nota:Este código es una adaptación para que funcione con MySQL; lógicamente
con MySQL 5.0 podríamos comenzar a utilizar Stored Procedures.

Espero que os sea de ayuda

Llevo unos días terminando un par de aplicaciones y webs.
En todas hay que tener el apartado de provincia… y sinceramente es más cómodo y queda bastante más fino que tipeen el código postal y automáticamente le elija la provincia a la que pertenece, así que por si a alguien más le hace falta… Volteo aquí el código para crear un BDD en MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
--
-- Estructura de tabla para la tabla `provincias`
--
 
CREATE TABLE `provincias` (
  `id_provincia` INT(10) NOT NULL AUTO_INCREMENT,
  `provincia` VARCHAR(30) NOT NULL,
  `cp` CHAR(2) NOT NULL,
  PRIMARY KEY  (`id_provincia`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=53 ;
 
--
-- Volcar la base de datos para la tabla `provincias`
--
 
INSERT INTO `provincias` VALUES(1, 'A Coruña', '15');
INSERT INTO `provincias` VALUES(2, 'Álava', '1');
INSERT INTO `provincias` VALUES(3, 'Albacete', '3');
INSERT INTO `provincias` VALUES(4, 'Almería', '4');
INSERT INTO `provincias` VALUES(5, 'Andorra', '53');
INSERT INTO `provincias` VALUES(6, 'Asturias', '33');
INSERT INTO `provincias` VALUES(7, 'Avila', '5');
INSERT INTO `provincias` VALUES(8, 'Badajoz', '6');
INSERT INTO `provincias` VALUES(9, 'Barcelona', '8');
INSERT INTO `provincias` VALUES(10, 'Burgos', '9');
INSERT INTO `provincias` VALUES(11, 'Cáceres', '10');
INSERT INTO `provincias` VALUES(12, 'Cádiz', '11');
INSERT INTO `provincias` VALUES(13, 'Cantabria', '39');
INSERT INTO `provincias` VALUES(14, 'Castellón', '12');
INSERT INTO `provincias` VALUES(15, 'Ceuta', '51');
INSERT INTO `provincias` VALUES(16, 'CiudadReal', '13');
INSERT INTO `provincias` VALUES(17, 'Córdoba', '14');
INSERT INTO `provincias` VALUES(18, 'Cuenca', '16');
INSERT INTO `provincias` VALUES(19, 'Gerona', '17');
INSERT INTO `provincias` VALUES(20, 'Granada', '18');
INSERT INTO `provincias` VALUES(21, 'Guadalajara', '19');
INSERT INTO `provincias` VALUES(22, 'Guipúzcoa', '20');
INSERT INTO `provincias` VALUES(23, 'Huelva', '21');
INSERT INTO `provincias` VALUES(24, 'Huesca', '22');
INSERT INTO `provincias` VALUES(25, 'Baleares', '7');
INSERT INTO `provincias` VALUES(26, 'Jaén', '23');
INSERT INTO `provincias` VALUES(27, 'LaRioja', '26');
INSERT INTO `provincias` VALUES(28, 'Las Palmas', '35');
INSERT INTO `provincias` VALUES(29, 'León', '24');
INSERT INTO `provincias` VALUES(30, 'Lérida', '25');
INSERT INTO `provincias` VALUES(31, 'Lugo', '27');
INSERT INTO `provincias` VALUES(32, 'Madrid', '28');
INSERT INTO `provincias` VALUES(33, 'Málaga', '29');
INSERT INTO `provincias` VALUES(34, 'Melilla', '52');
INSERT INTO `provincias` VALUES(35, 'Murcia', '30');
INSERT INTO `provincias` VALUES(36, 'Navarra', '31');
INSERT INTO `provincias` VALUES(37, 'Orense', '32');
INSERT INTO `provincias` VALUES(38, 'Palencia', '34');
INSERT INTO `provincias` VALUES(39, 'Pontevedra', '36');
INSERT INTO `provincias` VALUES(40, 'Salamanca', '37');
INSERT INTO `provincias` VALUES(41, 'Segovia', '40');
INSERT INTO `provincias` VALUES(42, 'Sevilla', '41');
INSERT INTO `provincias` VALUES(43, 'Soria', '42');
INSERT INTO `provincias` VALUES(44, 'Tenerife', '38');
INSERT INTO `provincias` VALUES(45, 'Tarragona', '43');
INSERT INTO `provincias` VALUES(46, 'Teruel', '44');
INSERT INTO `provincias` VALUES(47, 'Toledo', '45');
INSERT INTO `provincias` VALUES(48, 'Valencia', '46');
INSERT INTO `provincias` VALUES(49, 'Valladolid', '47');
INSERT INTO `provincias` VALUES(50, 'Vizcaya', '48');
INSERT INTO `provincias` VALUES(51, 'Zamora', '49');
INSERT INTO `provincias` VALUES(52, 'Zaragoza', '50');

En Exchange 2003 y versiones anteriores, existía la utilidad ExMerge para realizar estas tareas. Para Exchange 2007 este procedimiento ya no utiliza ExMerge sino que viene integrado con PowerShell a partir de Service Pack 1 de Exchange Server 2007.

*Algunas consideraciones previas*:

* La exportación e importación deberán realizarse desde un cliente 32 bits con las herramientas administrativas de Exchange 2007 instaladas; con Service Pack 1 o superior.
* Outlook 2003 o 2007 debe estar instalado en ese cliente 32 bits.
* El usuario que corra el proceso deberá ser Exchange Organization Admin o Exchange Server Admin del servidor involucrado.

*Procedimiento para exportar*:

El comando (o cmdlet) para realizar la exportación es básicamente:

|Export-Mailbox –Identity -PSTFolderPath |

La ruta del PST tiene que ser una ruta completa y puede o no incluír el nombre del archivo PST. Si no fuese declarado en el comando, automáticamente se asignará el nombre del Alias del buzón.

Para exportar múltiples buzones a la vez, se puede combinar el comando y la ruta no puede incluír el nombre del archivo PST ya que se crearán tantos como sean necesarios. Un ejemplo del comando puede ser:

|Get-Mailbox -Database ‘MDB’ | Export-Mailbox -PSTFolderPath D:\PSTs|

*Procedimiento para importar*:

El procedimiento para importar es muy similar, salvo que el cmdlet es apenas distinto:

|Import-Mailbox -Identity -PSTFolderPath |

Este cmdlet tiene las mismas consideracionas para la ruta del PST que el cmdlet para exportar.

Para hacer varias importaciones a la vez, el comando sería similar a:

|Get-Mailbox -Database ‘MDB’ | Import-Mailbox -PSTFolderPath D:\PSTs|

*Filtrando el contenido de la exportación o importación*:

ExMerge nos permitía hacer ciertos filtros al contenido que exportásemos o importásemos. Este cmdlet de PowerShell también permite hacer lo mismo. En este ejemplo, se pretende importar todos los mensajes creados entre el 1/1/2006 y el 12/1/2006, el asunto contiene la palabra “Cotización” y alguna de las palabras “Proyecto” y “Exchange” en el cuerpo del mensaje del buzón correspondiente a PVernocchi:

|Import-mailbox -Identity PVernocchi -PSTFolderPath C:\PSTs -StartDate 1/1/06 -EndDate 12/1/06 -SubjectKeywords:’Cotización’ -ContentKeywords:’Proyecto’,'Exchange’|

  

Calendario

August 2008
M T W T F S S
« Jun    
 123
45678910
11121314151617
18192021222324
25262728293031