martes, 26 de febrero de 2008

Obteniendo información de una computadora remotamente

Hola!

¿Alguna vez has tenido la necesidad de obtener el nombre de una computadora remotamente?...es una tarea bastante interesante entre otra info. que puedes obtener; de hecho podrias realizar esto simplemente usando el Windows Script Host.

Pero si requieres hacer una tarea mas elaborada digamos auditar el hardware y software de una computadora remota,obtener que version del Sistema Operativo estas usando,etc, entonces es mas recomendable usar el Windows Management Instrumentation.

Anteriormente este servicio tenia que ser instalado de forma separada pero ahora lo interesante es que esta disponible en el .NET framework a través del espacio de nombre System.Management.

En siguiente ejemplo en C# muestra una simple consulta hacia una computadora remota, obtieniendo algunos datos básicos como el tipo de sistema operativo, la versión de éste,el nombre de la PC, entre otros; en este caso tengo privilegios administrativos para acceder a la PC, chequen la documentación para mas opciones.

Hoy en día existen varios programas de auditoría de hardware y software usados en los departamentos de TI, pero siempre es interesante saber como podemos realizar esas tareas.

Espero que este ejemplo les sea de utilidad y lo incluyan en su caja de herramientas de programación.

Saludos!

================================================

using System;

using System.Management; //Para acceder al WMI

namespace RemoteControlApp

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Inicia Programa para acceder a recursos de otra computadora remotamente...");

ConnectionOptions options = new ConnectionOptions();

ManagementScope scope = new ManagementScope("\\\\192.168.17.58\\root\\cimv2",options);

scope.Connect();

//Ahora obteniendo info acerca del OS

ObjectQuery query = new ObjectQuery("select * from Win32_OperatingSystem");

ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher(scope, query);

ManagementObjectCollection queryWMICollection = wmiSearcher.Get();

foreach (ManagementObject m in queryWMICollection)

{

//Mostrar info de la computadora remota

Console.WriteLine("Nombre de la computadora: {0}", m["csname"]);

Console.WriteLine("Directorio de Windows: {0}", m["WindowsDirectory"]);

Console.WriteLine("Sistema Operativo: {0} {1}", m["Caption"], m["Version"]);

Console.WriteLine("Fabricante: {0}", m["Manufacturer"]);

Console.WriteLine("Termina Programa para acceder a recursos de otra computadora remotamente...");

Console.ReadLine();

}

}

}

}

domingo, 24 de febrero de 2008

Creación de archivos temporales con C#

Los archivos temporales son usados generalmente para manipulación y almacenamiento de datos.
A menudo es necesario guardar datos como preferencias del usuario, información de sesion, log para errores y otros tipos de información.
En este caso usare la clase System.IO.Path y el método GetTempFileName para obtener el nombre del archivo en el directorio temporal del usuario actual. Existen otras enfoques para realizar esta tarea, pero usare este metodo ya que devuelve un nombre único.
Dicho lo anterior por cada llamada al método GetTempFileName se obtendrá un nombre diferente aun cuando no se use para crear fisicamente el archivo, lo cual es conveniente si se estan ejecutando varias instancias de tu aplicación y evitar colisiones.

Veamos como se ve el código:

using System;

using System.IO;

namespace TempFileSampleApp

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Este es un ejemplo de creacion de archivos temporales");

crearArchivoTemp();

}

static void crearArchivoTemp()

{

string curTempFileName="";

curTempFileName = Path.GetTempFileName();

//Ahora creamos fisicamente el archivo

using (StreamWriter sw = File.CreateText(curTempFileName))

{

sw.WriteLine("Primera linea del archivo");

sw.Close();

}

Console.WriteLine("Se ha creado el archivo temporal satisfactoriamente!!");

Console.ReadLine();

}

}

}


Bien espero que este tip te haya sido de utilidad y consulta mi blog frecuentemente ya que estaré publicando mas ejemplos proximamente sobre programación con .NET.
Saludos!

domingo, 17 de febrero de 2008

Taller Gratuito en línea para MCTS exámen 70-536

Si entre tus propositos de año nuevo esta el obtener alguna certificación o si ya estas certificado y quieres reforzar tus conocimientos..aquí tienes una gran oportunidad de tomar un taller para la certificación Microsoft Certified Technology Specialist examen 70-536, que será impartido on-line a través del siguiente link..apurate a inscribirte antes del 3 de Marzo.

Saludos!

jueves, 14 de febrero de 2008

Primera Reunion Comunidad Aluxes.NET

Hola!
El pasado Martes 12 de Febrero se realizó la primera reunión de la comunidad Aluxes.NET, la cual tuvo como objetivo presentar el programa de comunidades Microsoft así como los beneficios y responsabilidades de pertenecer a este programa; los cuales van de la mano con los objetivos de la comunidad.

Entre los puntos importantes de la reunión destacan los siguientes:

Objetivo del Programa

Proveer mecanismos para la creación de profesionales de TI,desarrolladores,diseñadores,etc y fomentar su evolución en redes de conocimiento y negocios.

Beneficios para la comunidad

De manera general fomenta la comunicación y colaboración de diferentes maneras con el gobierno e industria local así como las instituciones educativas; fortaleciendo la industria y motivando a una cultura de mejora continua en todos los niveles.

Operación de la comunidad

Existirá un grupo coordinador el cual tiene las siguientes responsabilidades:

  • Planea y organiza las reuniones de la comunidad
  • Difunde y Comparte sus conocimientos
  • Anuncia activamente las tareas de la comunidad
  • Invita y fomenta la participación de  nuevos miembros
  • Es el enlace entre las comunidades locales y Microsoft

Sobre las comunidades que participan en el programa

  • Las comunidades son organismos de operación independientes de Microsoft.
  • Microsoft apoya a las comunidades directamente o a través de socios de negocios.
  • Se deberá contar con un grupo coordinador y con un director o líder.

Compromisos Microsoft

  • Proveer material de apoyo cada vez que se registre un evento en el portal de comunidades, así como artículos promocionales sujetos a existencias.
  • Apoyo con otros recursos técnicos como:
    * Webcast
    * Boletines
    * Chats
    * Newsgroups
    * Usergroups
    * Eventos Presenciales

Compromisos Comunidad

  • La comunidad debe estar activa por lo menos 12 meses en el programa.
  • Se deberán llevar a cabo reuniones donde se hable de soluciones Microsoft, al menos una  reunión mensual.
  • El grupo coordinador deberá crear y mantener actualizado el sitio de la comunidad.
  • Se deberá contar con al menos un blog por comunidad donde se hable de tecnología

También se comento acerca de que la comunidad será evaluada mes con mes y de la importancia de hacerla crecer y participar.

Entre otras cosas interesantes se presentaron los testimonios de otras comunidades y los eventos que han realizado, incluso accediendo a oradores internacionales como Guillermo Som (el Guille).
 
Así que sigan pendientes del portal Aluxes.Net ya que estaremos informando sobre las siguientes actividades de la comunidad y la fecha de nuestra próxima reunión, pero sobre todo participen de manera virtual y compartan sus ideas y comentarios; recuerden que los desarrolladores somos parte esencial del éxito de la industria en la región.
 
Buen fin de semana!
 
Saludos!

martes, 5 de febrero de 2008

Yahoo-Microsoft Vs Yahoo-Google

Hola!
    Espero que hayan tenido un fin de semana excelente y  además de la sorpresa que dieron los Gigantes de NY ganando el superTazon a los favoritos los Patriotas de Nueva Inglaterra, otra noticia importante es la oferta de compra de Yahoo por parte de Microsoft por $44.6 billones de dolares; esto es algo que ya Microsoft habia dejado entre ver desde el año pasado pero hasta ahora se hizo la oferta publica.
Obviamente esta estrategia es para competir directamente contra el master de las búsquedas en linea Google quien domina el mercado de la publicidad en línea.
Y de hecho la compañia de MountView California no se ha hecho esperar desde el anuncio hecho el dia 1 de febrero y hoy se especula que su presidente Eric Schmidt ya ha contactado a Jerry Yang co-fundador y CEO de Yahoo para ofrecerle su ayuda y revitalizar a la compañia. La idea sería que Yahoo use los servicios de búsqueda así como los de publicidad de Google y generar ingresos para Yahoo, pero lo principal es que permitiría a Yahoo seguir siendo indpendiente.
Creo que Yahoo tiene que pensar muy bien la estrategia que deberá seguir, si mantener su marca o fusionarse, en mi opinión creo que tendría mas sentido una fusión Yahoo-Microsoft que una Alianza Yahoo-Google, sería mas equilibrado aunque seguramente ambas ofertas obligarán a revisar las regulaciones anti-monopolio.
 
Ustedes que opinan?
 
Saludos!