Compatibilidad de Aplicaciones con Windows Vista

Hace ya unos días asistí como oyente al seminario Compatibilidad de Aplicaciones con Windows Vista impartido por Antonio Gámir (Ms Technology Especialist Windows) y José Parada (Ms Technology Especialist).




Como el propio nombre de las sesiones indica, en ellas se analizó un tema como el de la compatibilidad de aplicaciones para el sistema operativo cliente de Microsoft. Tema, por otra parte, de habitual presencia en diversos foros IT y que de forma (a veces un tanto ficticia) suele dar lugar a debate.


En el desarrollo del seminario se hizo un extenso repaso a las interioridades de Windows Vista, valorándose cómo sus nuevas opciones y posibilidades de seguridad podían provocar errores en aplicaciones heredadas de sistemas operativos anteriores. En función de ello se realizó una revisión a temas como UAC, UIPI, virtualización de aplicaciones y Windows Service Hardening, entre otros.


Junto a lo anterior se explicaron aquellos servicios de tipo gratuito que Microsoft ofrece así como las posibilidades del Ms Windows Vista para paliar dichos problemas de compatibilidad.


Tras mi asistencia a dicho seminario, publicaré próximamente una serie de posts sobre esta temática de compatibilidad de aplicaciones con Windows Vista. Espero que esta serie sea de utilidad para más de uno, ayudándonos también a entender por qué ciertas aplicaciones presentan alguna interferencia de funcionamiento en este fantástico sistema operativo.


 

Actualización importante para Windows Vista

En contra de lo acostumbrado por Microsoft de sacar sus actualizaciones los martes, ayer viernes se publicó el boletín de seguridad MS08-67 y con él una actualización que resolvería una vulnerabilidad en el kernel que podría permitir a un usuario malintencionado el ejecutar código de forma remota a través de peticiones RPC.

Más información de la vulnerabilidad:

http://support.microsoft.com/kb/958644

Para solucionar este problema en vuestro equipo podéis descargaros la actualización directamente desde Windows Update o también descargaros el parche desde el enlace que viene en el boletín de seguridad.

Uso de memoria en Windows Vista

En cada charla, evento, foro, curso,etc… al que acudo o leo , aparte de la compatibilidad de aplicaciones, la otra gran queja es el “alto” consumo de memoria del que hace gala Windows Vista y que, aunque por mas que le expliques al usuario que eso es debido a una nueva forma de gestionar la memoria llamada Superfetch , estupendamente explicada en este mismo blog por Juan Francisco Arrabé, la gente sigue sin entender del todo porque trabaja así y sobre todo piensan que esa memoria que guarda Windows Vista en caché no es recuperable, es decir, que si el Sistema Operativo cachea 2 Gb y nuestro equipo tiene 3 Gb de memoria física, solo nos queda disponible 1 Gb para nuestro uso y disfrute.

Hoy, con una sencilla práctica vamos a ver que no es así y que cuando Windows Vista necesita recuperar esa memoria que ha guardado en caché lo hará sin ningún problema. Mi equipo tiene un procesador Intel Core 2 Duo a 2 GHz con 4 Gb de RAM y Windows Vista Ultimate X64 instalado.

clip_image001

Como podéis ver en la imagen anterior, mi equipo nada más arrancarlo tiene más de 1,5 Gb de RAM en caché. En este punto es en el que los “Anti-Vista” se basan para criticar al sistema operativo. Pero ahora vamos a ver como si necesitamos esa memoria, Windows Vista la libera. Primero vamos a arrancar lo que muchos llaman “comerecursos”, Internet Explorer 7

clip_image003

clip_image005

Como veis, tras haber arrancado 14 páginas de IE7, cada una de ellas con diferentes pestañas de youtube reproduciendo un video, ha aumentado mel consumo de mi CPU pero la memoria en caché sigue siendo prácticamente la misma. Pues bien, vamos a forzar un pelín mas la maquina porque necesitamos ver si esos 2 Gb son liberados. Vamos a hacer una prueba con un programa que se llama memtest y que sirve para testear nuestra RAM.

clip_image006

Lo ejecutamos (todavía tenemos las 14 páginas de IE7 abiertas) y vamos a ver qué pasa:

clip_image008

Como veis, con lo que teníamos abierto y ejecutando dos MEMTEST, Windows Vista ha necesitado liberar la memoria que tenia cacheada para que estuviese disponible para nuestro uso.

Y creo que con esta prueba se demuestra que no es que el sistema Operativo se quede con toda esa memoria para su funcionamiento, si no que en el momento en el que debido a nuestro trabajo tenga que utilizarla la irá liberando de esa caché.

Hands On Lab de Windows Vista en Madrid en Octubre

Pues ya va acabando el año y no por eso dejamos de lado la formación. Y es por ello que vuelven los Hands On Lab de Windows Vista a Madrid, en el que se dará un repaso de forma amplia a todo lo relacionado con la administración del nuevo Sistema Operativo de Microsoft, sobre todo a temas relacionados con la seguridad y a la nueva característica de implementación de imágenes.Los Hands On Lab de Windows Vista los tienes descritos aquí:

HOL-VIS01  Microsoft Windows Vista. Instalación y Configuración
27 de Octubre 08:30 a 14:30-
Temario Completo

En el presente seminario se analizará la arquitectura general del sistema así como los requisitos para la instalación y el proceso de implantación. Una vez implantado los asistentes se familiarizaran con el entorno de uso y las herramientas de configuración y administración de dispositivos.

1. Versiones de Windows Vista.
2. Entornos de trabajo de Windows Vista.
3. El proceso de Instalación.
4. Instalaciones basadas en imágenes.
5. La interfaz de usuario.
6. Windows Vista Aero.
7. Integración de tareas.
8. El centro de Sincronización.
9. Sistemas de recuperación con Windows Vista.

HOL-VIS02  Microsoft Windows Vista. Administración
28 de Octubre 08:30 a 14:30-
Temario Completo

Durante el seminario se verán las herramientas de administración del sistema Windows Vista. Las herramientas de gestión remota, la gestión de usuarios y recursos dentro del sistema y como se integra dentro de sistemas informáticos basados en dominios Microsoft.

1. Introducción a Windows Vista.
2. Administración de la interfaz Windows Aero.
3. Las consolas de administración y gestión de Windows Vista.
4. Administración del sistema: gestión de rendimientos con Superfetch y EMD.
5. Sistemas de gestión de red.
6. La administración local del sistema.
7. Windows Mail.
8. Administración de documentos: sistemas de búsquedas.
9. Internet Explorer 7.
10. Copias de seguridad y recuperación.

HOL-VIS03
Microsoft Windows Vista. Seguridad
29 de Octubre 08:30-14:50 – Temario Completo

En este seminario los asistentes recibirán información sobre las novedades en seguridad que oferta Windows Vista. Aprenderán a gestionar los privilegios y permisos sobre recursos, las políticas de seguridad y las herramientas de protección que lleva el sistema operativo incorporado.
1. Introducción a Windows Vista.
2. El sistema de gestión UAC (User Account Control).
3. La seguridad en los procesos de autentificación.
4. Políticas de seguridad.
5. Sistemas de protección en red.
6. El Firewall de Windows Vista.
7. Windows Defender.
8. Protección de datos.Bitlocker Drive Encryption.
9. Integracion de Clientes Rights Management.
10. Gestión y protección de servicios.
11. El subsistema de seguridad de Internet Explorer 7

HOL-VIS05
Microsoft Windows Vista. Servicios de Red en Windows Vista
30 de Octubre 08:30-14:30 – Temario Completo 


En este HOL se comprobarán las novedades que incorpora Windows Vista en cuanto a los servicios de red. Entre estas novedades podemos encontrar la nueva pila TCP/IP mejorada, el soporte nativo para IPv6, mejoras en la gestión y configuración de IPSec o las mejoras en la gestión de redes wireless.
1. Introducción.
2. Redes Inalámbricas.
3. Pila TCP/IP.
4.
IPV6
5.
Políticas Quality of Service (QoS).
6. Soluciones de seguridad en red.
7. Reuniones compartidas.
8. Network Access Protection.

HOL-VIS06  Business Desktop Deployment
31 de Octubre 08:30-14:30 – Temario Completo

Microsoft ha dado un gran paso para hacer que Windows Vista sea mucho más fácil de desplegar en todo tipo de empresas. La modularización de Windows Vista junto con la gestión de imágenes mediante Windows Imaging Manager permite que la tarea de desplegar el sistema operativo sobre varias máquinas sea rápida y sencilla. El soporte para scripts permite además la automatización de tareas complejas durante la instalación del SO.
1. Preparar la implementación de Windows Vista.
2. Remediar la compatibilidad de aplicaciones.
3. Herramienta User State Migration.
4. Sistema de imágenes de Windows Vista.
5. Métodos de implementación de Windows Vista.
6. Asegurando Windows Vista.

Más información de toda la campaña en: http://www.microsoft.com/spain/seminarios/hol.mspx
 

 

PoweShell V de V

 

Artículos anteriores de PowerShell:


 










  •  


    Llegamos a la última entrega de esta serie dedicada a PowerShel en Windows Vista. En esta ocasión me gustaría centrar la atención un poco más en las funcionalidades de scripting que incorpora PowerShell.


    Probablemente la mayoría de los que leéis este Blog sois administradores o usuarios, sin embargo en muchas ocasiones seguro que habéis tenido que tratar con algún problema que solo se podía resolver mediante la programación de un script.

    PowerShell nos aporta toda la potencia de la administración por línea de comandos, pero además nos permite extender la funcionalidad creando nuestros propios scripts para resolver situaciones más complejas. Comenzaremos creando un sencillo script para crear n usuarios de forma recursiva. Podemos emplear las siguientes opciones de bucle: 

    • Do ….. while

    • Do ….. Until

    • For

    $n = 1$conn=[ADSI]”WinNT://localhost”  Do {$user = $conn.Create(“user”,”TestUser” + $n) $user.SetPassword(“Passw0rd”)$user.SetInfo()            $n++}While ($n –lt 10)
    Escribimos este script en un archivo de texto y lo guardamos con la extensión .ps1Para ejecutarlo solo debemos ir a la consola de PowerShell y escribir el nombre del script antecedido de “.”, por ejemplo, si lo hemos llamado CrearUsuario.ps1, entonces escribiremos en la consola .CrearUsuarios.ps1  

    Sin embago rápidamente observareis que os da un error de ejecución del script. Esto se debe a que por motivos de seguridad, de forma predeterminada PowerShell no ejecuta scripts que no estén firmados digitalmente por una entidad de confianza.

      Para cambiar este comportamiento y que nos permita ejecutar nuestros scripts, necesitaremos establecer el nivel de seguridad en no restringido o firma remota: 

    • Unrestricted: No se verifica la firma de ningún script

    • remoteSigned: Se verifica la firma de los scripts descargados de Internet, pero se puedenejecutar los scripts creados en el equipo local.
    Lógicamente es una mejor opción de seguridad configurar remoteSigned que Unrestricted, por lo tanto: 

    • Set-executionpolicy RemoteSigned
    Si queremos comprobar el estado de la directiva de seguridad: 

    • Get-executionpolicy
    Ahora bien, si en vez de crear usuarios a partir de un bucle numerado, queremos leer la información desde un archivo de texto en formato .csv, entonces podemos escribir algo como lo siguiente: 
    $conn=[ADSI]”WinNT://localhost” import-csv Usuarios.csv | forEach {             $user = $conn.Create(“user”,$_.Nombre)             $user.SetPassword($_.Pass)            $user.SetInfo()            }
     El archivo .csv debemos escribir los nombres de las propiedades de los usuarios y un usuario en cada línea: 
    Nombre,PassJulio,Passw0rdMaria, Passw0rdLuis, Passw0rdPedro, Passw0rd
    En esta ocasión hacemos uso de los cmdlets import-csv y forEach El cmdlet import-csv, lee datos de archivos de texto separado por comas e interpreta una a una cada línea de información. No es necesario hacer un ciclo de lectura ya que está intrínsecamente incorporado al cmdlet.Por otro lado, el cmdlet forEach (o forEach-Object) es en sí un ciclo de procesamiento, el cual finaliza cuando ya no hay más objetos en el arreglo. Como podeis observar se pasan los resultados del import-csv a forEach mediante el uso de la tubería ( | ) El cmdlet import-csv se utiliza habitualmente en entornos de Exchange Server para crear de forma masiva multiples usuarios y buzones con un mínimo esfuerzo: 
    Import-CSV ListadeBuzones.csv | foreach {new-mailbox -alias $_.alias -name $_.name -userPrincipalName $_.UPN -database “Mailbox Database” -org Users -Password $Password}
    Finalmente podemos exportar la información recogida o los cambios realizados en el sistema en un informe html para su archivado. Informe de usuarios locales:

    • Get-WmiObject win32_Useraccount -ComputerName localhost | where {$_.LocalAccount} | select-object -property Name,Domain,SID,AccountType | convertto-html | out-file C:usuariosLocales.html
    Informe de recursos compartidos (el punto después de ComputerName indica el equipo local. Si se desea obtener la información de otro equipo, se debe sustituir el . por el nombre del equipo remoto)

    • Get-WmiObject -Namespace rootcimv2 -Class Win32_Share -ComputerName .| select-object -property Name,Path,Description,Computer | ConvertTo-html | out-file C:RecursosCompartidos.html
    Hemos visto como con unos conocimientos básicos de programación y con PowerShell podemos realizar tareas muy potentes en muy poco tiempo. Os recomiendo seguir profundizando y ampliando conocimientos con esta consola de Microsoft, ya que no solo Windows Vista la incorpora, sino que la mayoría de productos Microsoft que ya están en el mercado o a punto de salir incluyen PowerShell.

    System Center Operations Manager 2007, System Center Virtual Machine Manager 2007, SQL Server 2008, Exchange Server 2007, Windows Server 2008, IIS 7, etc.

    Gadgets, de la web a tu escritorio

    Los gadgets de Windows Vista son como Raúl, o te gusta o no, pero no dejan indiferente a nadie. Quizás los que vienen por defecto en el sistema son algo reducidos, pero siempre nos queda la posibilidad de descargar mas desde la pagina web que Microsoft proporciona para ello.

    Pero… ¿Qué pasa si la funcionalidad que nosotros queremos no esta soportada en ninguna extensión de las que nos proporciona Microsoft? Pues tenemos una herramienta, Amnesty Generator, que nos permite meter en nuestro escritorio casi cualquier gadgets que nos ofrezcan para añadir a un sitio web.

    Esta herramienta tiene una sencilla interfaz donde seleccionaremos el tipo de gadget que queremos introducir (podemos elegir entre mas de 35 sitios web distintos), introduciremos el código que nos proporciona la web y podremos elegir algunas características para el, tales como tamaño y titulo. Veamos la creación de uno paso por paso.

    image

    En el paso 1 seleccionaremos el proveedor de gadgets que queremos usar. Estos sitios nos proporcionan una porción de código para introducir en nuestras paginas web, pero que nosotros copiaremos en el campo de texto que tenemos en el paso 2.

    Nosotros vamos a hacer un ejemplo con eBay To Go para una puja por un Delorean de 1981. Seleccionamos en la lista eBay To Go y hacemos clic en "Open Site in Browser". Un sencillo asistente nos ira guiando paso por paso en la creación de nuestro gadget.

    image

    Una vez terminado se nos proporcionara un código HTML que debemos de copiar en el campo de texto que se nos ofrece en el paso 2.

    image

    ¡Y con esto ya solo quedan los detalles! El programa debería de detectarnos automáticamente las dimensiones del gadget, si no tendremos nosotros que escribirselas a mano. También nos pondrá un titulo, pero seguro que a nosotros se nos ocurre un titulo mejor, ¿verdad? 😉

    Para terminar podemos, si queremos, asociar una imagen al gadget para que sea la que muestre cuando aparezca en nuestra barra lateral.

    image

    Después de hacer clic en nuestro botón generar obtendremos un nuevo icono en la lista de gadgets disponibles en nuestro equipo, el cual podremos arrastrar sobre nuestro escritorio.

    image

    Un saludo y ¡nos vemos en el futuro!

    Archivos sin Conexión y Redirección de Carpetas, un apunte…

    Como ya vimos en posts anteriores de Fran Nogal, archivos sin conexión; y de Joshua Sáenz, carpetas offline 1 y 2, Archivos sin conexión nos ofrece ciertas ventajas al poder trabajar con los archivos que tenemos en el servidor de manera caché cuando no tenemos conexión.


    El apunte que quería realizar es un caso particular, cuando en una empresa tenemos redirigida la carpeta de documentos de los usuarios a un servidor, o una serie de carpetas de los usuarios.  Por defecto Windows Vista pone en archivos sin conexión todos los archivos de las carpetas redirigidas que hagamos en el sistema, ya que se supone que es una ventaja el poder usarlos ficheros si perdemos la conexión o el servidor no está disponible temporalmente.


    El caso es que si tenemos usuarios que tienen movilidad entre las sedes de la empresa, éstos pueden logarse en cualquier equipo de cualquier sede. Estos a su vez tienen redirigidas todas sus carpetas personales a un servidor, más concretamente al DFS (que pueda tener réplica en un servidor de cada sede). Los DFS se tienen que replicar entre ellos, y es posible que tengan incoherencias entre las cachés locales y los datos del DFS. Y aunque los usuarios vean símbolos de errores o advertencias de sincronización,  y además sepan que deben elegir la versión del archivo que desean conservar, puede ocurrir que llamen a soporte para que se tome nota de la incidencia, o directamente, puede darse el caso de no llamar. Y puede llegar a pasar que si se borra el perfil del usuario del equipo por cualquier cosa (implementación de una nueva imagen del sistema operativo, liberar espacio en disco, etc.) podamos perder los datos.


    Keep Files


    Así que mediante políticas de grupo podemos elegir si queremos o no que se pongan automáticamente como archivos sin conexión los archivos de las carpetas redirigidas que tengamos, ya que puede que si tenemos DFS replicados en cada sede es muy raro que un usuario no pueda acceder a sus documentos y sobre todo si sabemos que los usuarios no hacen caso de los símbolos de advertencia y error en la sincronización. Por políticas también podremos decidir si permitimos que puedan establecer manualmente los archivos sin conexión los usuarios o no. Las configuraciones de estas GPO se pueden encontrar en

    Configuración de usuarioPlantillas AdministrativasSistemaRedirección de CarpetasConfiguración de equipoPlantillas AdministrativasRedArchivos sin conexiónConfiguración de usuarioPlantillas AdministrativasRedArchivos sin conexión


    Post escrito por Ignacio Sánchez Beato

    PoweShell IV de V

    Los anteriores artículos de esta serie los podéis leer en:



    De nuevo con otra entrega de la serie de artículos dedicados a PowerShell en Windows Vista.


    En esta ocasión os voy a comentar cómo podemos realizar un par de tareas prácticas que cualquier administrador hace habitualmente, con PowerShell como son la administración de usuarios y grupos locales y la administración de dispositivos de red.


    Administración de usuarios locales:


    Si queremos listar los usuarios y grupos de nuestro equipo, necesitaremos hacer una consulta a la clase correspondiente de la Instrumentación del Sistema (WMI), para ello utilizaremos el cmdlet get-wmiobject y escribiremos lo siguiente:




    • Get-WmiObject win32_Useraccount -ComputerName localhost

    El en resultado probablemente aparezcan todas las cuentas que están creadas en el equipo, incluidas las de sistema, por lo tanto vamos a filtrar los resultados por el parámetro .localAccount, es decir, que solo se incluyan aquellas cuentas definidas como locales.




    • Get-WmiObject win32_Useraccount -ComputerName localhost | where {$_.LocalAccount}

    De igual forma, para listar los grupos, haremos una consulta a la clase win32_Group, escribiendo lo siguiente:




    • Get-WmiObject win32_Group -ComputerName localhost

    Pero, ¿qué debemos hacer para crear un nuevo usuario o grupo con PowerShell? La creación de cuentas no es un proceso tan directo como la obtención de información, ya que debemos aportar datos como el nombre, contraseña, etc.


    Para poder crear una cuenta local debemos conectarnos con el servicio ADSI local y posteriormente crear un objeto de tipo “User” con los parámetros que se requieran. Trabajaremos con una variable $conn que establecerá la conexión a ADSI y otra variable $user que almacenará el objeto a crear. Finalmente, guardamos las propiedades con SetInfo().



    $conn=[ADSI]”WinNT://localhost”
    $user = $conn.Create(“user”,”TestUser”)
    $user.SetPassword(“Passw0rd”)
    $user.SetInfo()


    Al igual que antes, para crear un grupo nuevo, solo cambiamos el tipo de objeto y eliminamos la línea de contraseña, ya que no se requiere. Por lo tanto escribiremos lo siguiente en la consola de PowerShell:



    $conn=[ADSI]”WinNT://localhost”
    $group = $conn.Create(“group”,”GrupoTest”)
    $group.setinfo()


    Administración de dispositivos de red:


    Si queremos listar los dispositivos de red que tenemos, lo podemos hacer apoyándonos en la integración de PowerShell con .Net Framework. En este caso llamaremos a la función correspondiente en .Net




    • [System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces()

    Claramente se observa cómo hacemos una llamada a la función GetAllNetworkInterfaces (), la cual forma parte del namespace System.NET.NetworkInterface.


    Igualmente podemos extraer la información de los dispositivos de red, haciendo una consulta WMI:




    • Get-WMIObject Win32_NetworkAdapter

    Aunque si queremos únicamente aquellas que están conectadas, podemos hacerlo con un filtro por velocidad.




    • Get-WMIObject win32_NetworkAdapter | where {$_.speed -gt 0}


    ¿Cómo establecemos la configuración IP de un dispositivo con PowerShell? Para ello debemos hacer un pequeño script:



    $NIC = Get-WMIObject Win32_NetworkAdapterConfiguration | where {$_.Index -eq “12”}
    $NIC.IPAddress = “192.168.0.150”
    $NIC.DefaultIPGateway = “192.168.0.1”
    $NIC.DHCPEnabled = $false
    $NIC.DNSServerSearchOrder = “192.168.0.1, 192.168.0.2”


    En este último ejemplo, el Index 12 corresponde en mi lista al dispositivo de bucle invertido. Debemos hacer un filtro para configurar únicamente el dispositivo que queremos. Si no sabeis el índice del dispositivo, lo podéis extraer con una simple consulta:




    • Get-WMIObject Win32_NetworkAdapterConfiguration

    Como podéis observar, la potencia de Powershell se extiende mucho más allá de las fronteras del sistema de archivos y el registro. Podemos interactuar directamente con funciones de .Net Framework y con clases de la Instrumentación del Sistema (WMI), todo con un mismo entorno que es válido tanto para administradores como para desarrolladores.


    Hasta el próximo post

    Vista SP1 Y MDOP en la Gira Technet 2008

    Durante el mes de Octubre de este año y parte de noviembre, teniendo en cuenta el parón para la ejecución del Microsoft TechED EMEA 2008, la gira Technet va a estar en varias ciudades de España.  Nos vemos allí!


    Agenda



    9:30 – 10:00: Registro
    10:00 – 10:15: Introducción y bienvenida
    10:15 – 11:30: Virtualización del Datacenter al Escritorio
    · Introducción a las tecnologías de Virtualización
    · Virtualización de hardware con Hyper-V
    · Virtualización de aplicaciones con Microsoft Virtualization
    · Planificación y Gestión de entornos virtualizados con SCVMM2008
    11:30 – 12:30: CAFÉ
    12:30 – 13:15: Soluciones completas de Infraestructura para las pequeñas y medianas empresas:
    · Windows Small Business Server 2008
    · Windows Essential Business Server 2008
    13:15 – 14:30: Gestión avanzada del Escritorio
    · Windows Vista SP1
    · Herramientas avanzadas de Microsoft Desktop Optimization Pack (MDOP)
    · Demos: Montaje de VPN-SSL con SSTP, Sequenciador Applicaciones Softgrid, Gestión avanzada AGPMC

    14:30 – 15:30: COMIDA
    15:30 – 17:30: SQL Server 2008: plataforma de datos empresarial productiva, inteligente y fiable.
    · Aplicaciones de Misión Crítica sobre Plataformas de Datos fiables.
    · Simplificando la gestión de su Infraestructura de Datos.
    · Nuevos tipos de Datos y Aplicaciones de próxima generación.
    · Plataforma completa de Business Intelligence: Novedades.


    Ciudades:


    – 07 de Octubre: Valencia
    – 08 de Octubre: Murcia
    – 14 de Octubre: Tenerife
    – 16 de Octubre: Las Palmas
    – 21 de Octubre: Zaragoza
    – 23 de Octubre: Barcelona
    – 28 de Octubre: A Coruña
    – 30 de Octubre: Madrid
    – 13 de Noviembre: Sevilla
    – 19 de Noviembre: Bilbao


    Regístrate al tuyo en: Technet Tour 2008


    Saludos Malignos!