Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Crazy.sx en 19 Diciembre 2012, 03:40 AM

Título: [Resuelto] Obtener datos de hardware usando clases WMI
Publicado por: Crazy.sx en 19 Diciembre 2012, 03:40 AM
Estoy intentando usar WMI para sacar los datos de Numero de serie de CPU o ID y de la BIOS, pero no me funciona...
¿Alguie me puede ayudar?

Lo que hice es esto:

Código (vbnet) [Seleccionar]

Imports System
Imports System.Management
Imports System.Windows.Forms
Public Class Form1
   Private Sub Form1_Load( _
             ByVal sender As System.Object, _
             ByVal e As System.EventArgs) Handles MyBase.Load

       ' obtener numero de serie bios
       Dim consultaNumSerieBios As String = "SELECT * FROM Win32_BIOS"
       Dim objNumBios As New ManagementObjectSearcher(consultaNumSerieBios)
       For Each info As ManagementObject In objNumBios.Get()
           infoNumBIOS.Text = info.Properties("SerialNumber").ToString

       Next info
End Sub
End Class


¿Cuál es el error que estoy cometiendo?

Bueno, en este código solo intento obtener el número de serie de BIOS pero me faltaría el del CPU también, je.
Gracias.
Título: Re: Obtener numero de serie de CPU y BIOS
Publicado por: Novlucker en 19 Diciembre 2012, 14:18 PM
¿Qué tipo de error te da?

Te sugiero ejecutar lo siguiente desde ms-dos, y luego comparar con la info obtenida desde tu método.
Código (dos) [Seleccionar]
wmic bios get /format:list

... en mi caso el SerialNumber dice "To Be Filled By O.E.M." :xD

Saludos
Título: Re: Obtener numero de serie de CPU y BIOS
Publicado por: TrashAmbishion en 19 Diciembre 2012, 17:16 PM
Cita de: Novlucker en 19 Diciembre 2012, 14:18 PM
¿Qué tipo de error te da?

Te sugiero ejecutar lo siguiente desde ms-dos, y luego comparar con la info obtenida desde tu método.
Código (dos) [Seleccionar]
wmic bios get /format:list

... en mi caso el SerialNumber dice "To Be Filled By O.E.M." :xD

Saludos

Jajajajajajajaja  ;-) ;-)

Típico

Es muy facil aprieta donde dice Autodestruir, bad joke, jumm
Título: Re: Obtener numero de serie de CPU y BIOS
Publicado por: Crazy.sx en 19 Diciembre 2012, 21:33 PM
Encontré la solución, y no solamente pude sacar la información del BIOS y del CPU sino de todo el hardware. Al final, es muy fácil usar WMI y hacer las consultas como se lo haría con SQL.

El código que revisé está en C# pero más abajo les dejo en VB.NET (disculpen, no me di cuenta de copiar la fuente y se me acabó el tiempo del ciber). Lo edité un poco, pero funciona perfectamente, no es muy complicado entenderlo  :):

Código (vbnet) [Seleccionar]
   Private Sub InfoHardware(ByVal clave As String)
       Dim searcher As New ManagementObjectSearcher("select * from " + clave)
       ListView1.Items.Clear()
       Dim listv As ListViewGroup
       Try
           For Each objeto As ManagementObject In searcher.[Get]()
               Try
                   listv = ListView1.Groups.Add(objeto("Name").ToString(), objeto("Name").ToString())
               Catch


                   listv = ListView1.Groups.Add(objeto("Name").ToString(), objeto("Name").ToString())
               End Try
               If objeto.Properties.Count <= 0 Then
                   MessageBox.Show("No hay información al respecto", "Atención")
                   Return
               End If

               For Each PropiedadObj As PropertyData In objeto.Properties
                   Dim listViewItem1 As New ListViewItem(listv)
                   listViewItem1.Text = PropiedadObj.Name

                   If PropiedadObj.Value IsNot Nothing AndAlso PropiedadObj.Value.ToString() <> "" Then
                       listViewItem1.SubItems.Add(PropiedadObj.Value.ToString())
                       ListView1.Items.Add(listViewItem1)
                   Else

                   End If
               Next
           Next
   End Sub


Solo es cuestión de enviar como parámetro cualquiera de las clases Win32 y listo. Aquí hay un listado completo de las clases Win32 con sus especifiaciones (en inglés). http://msdn.microsoft.com/en-us/library/aa394084(v=vs.85).aspx

Saludos.

Cita de: Novlucker en 19 Diciembre 2012, 14:18 PM
¿Qué tipo de error te da?

Te sugiero ejecutar lo siguiente desde ms-dos, y luego comparar con la info obtenida desde tu método.
Código (dos) [Seleccionar]
wmic bios get /format:list

... en mi caso el SerialNumber dice "To Be Filled By O.E.M." :xD

Saludos
Gracias Novlucker. Saludos.
Título: Re: Obtener numero de serie de CPU y BIOS
Publicado por: spiritdead en 20 Diciembre 2012, 02:11 AM
xD hasta q tedistes cuenta :)
Título: Re: Obtener numero de serie de CPU y BIOS
Publicado por: Crazy.sx en 20 Diciembre 2012, 05:02 AM
Cita de: spiritdead en 20 Diciembre 2012, 02:11 AM
xD hasta q tedistes cuenta :)
(http://3.bp.blogspot.com/-xYC5_UOlXz8/Tto9aHciaLI/AAAAAAAAAFY/CKvtgc4QW54/s760/Fuck_Yea.png)
Título: Re: [Resuelto] Obtener datos de hardware usando clases WMI
Publicado por: spiritdead en 24 Diciembre 2012, 21:18 PM
sorry si no te dije, :P prefiero q aprendan a investigar, a veces algunos piden el job entero y uno queda >.>

:) prefiero aclarar dudas puntuales o errores puntuales :)

saludos
Título: Re: [Resuelto] Obtener datos de hardware usando clases WMI
Publicado por: llFabianfll en 8 Enero 2014, 04:42 AM
Hola Amigo muchas gracias por el aporte esta muy bueno voy a revisar bn el codigo xq necesito crear una aplicacion que me facilite la recolección de los datos de unos equipos y poder almacenarlos en una BD SQL Server