« en: Abril 20, 2012, 12:39:09 am »
Palabras clave:
WMI, averiguar, extraer, saber, numero serie, volumen, discoAutor:
Búho desarrollando una idea de Eduardo MorcilloExtraído de:
La web del Búho
Objetivo Extraer el número de serie del volumen (dado al formatear) mediante WMI.
Con WMI tienes varias clases que se refieren a los discos: Win32_DiskDrive que representa al disco fisico, Win32_LogicalDisk que representa al disco logico y Win32_PhysicalMedia que representa un medio fisico de almacenamiento. Con la propiedad VolumeSerialNumber de Win32_LogicalDisk obtienes el # de serie dado al formatear el disco logico. La propiedad Signature de Win32_DiskDrive segun la documentacion es un identificador del disco que esta disponible en desde el XP en adelante y no da indicacion de que sea el numero de serie. Lo que si te devuelve el numero de serie físico del disco es la propiedad SerialNumber de Win32_PhysicalMedia (que segun la documentacion es "Manufacturer-allocated number used to identify the physical media.").
Este comentario es gentileza de Eduardo Morcillo, MVP Visual Basic
Sub Fisico()
'Disco Fisico
'
Dim ObjetoWMI As Object
Dim Disco As Object
Dim Discos As Object
Set ObjetoWMI = GetObject("WINMGMTS:")
Set Discos = ObjetoWMI.InstancesOf("Win32_DiskDrive")
For Each Disco In Discos
MsgBox "Serie decimal: " & Disco.signature
MsgBox "Serie Hexadecimal: " & Hex$(Disco.signature)
Next
End Sub
Sub Logico()
'Disco Logico
'Numero dado al formatear
Dim ObjetoWMI As Object
Dim Disco As Object
Dim Discos As Object
Set ObjetoWMI = GetObject("WINMGMTS:")
Set Discos = ObjetoWMI.InstancesOf("Win32_LogicalDisk")
For Each Disco In Discos
MsgBox "Unidad disco: " & Disco.Name & " serie logica: " & Disco.VolumeSerialNumber
Next
End Sub
Sub Fabrica()
'devuelve el numero de serie fisico
'del disco(que segun la
'documentacion es "Manufacturer-allocated number used to identify the
'physical media.").
Dim ObjetoWMI As Object
Dim Disco As Object
Dim Discos As Object
Set ObjetoWMI = GetObject("WINMGMTS:")
Set Discos = ObjetoWMI.InstancesOf("Win32_PhysicalMedia")
For Each Disco In Discos
MsgBox "Serie Fabrica: " & Disco.SerialNumber
Next
End Sub
Te puede interesar...
Número de serie del volumen (mediante FSO)Número de serie del volumen (mediante API)
« Última modificación: Abril 20, 2012, 12:45:50 am por xavi »
En línea