Esta es el arreglo más exacta que te podemos compartir, sin embargo obsérvala pausadamente y valora si se adapta a tu trabajo.
Solución:
Utilice el software gratuito USBDeview:
USBDeview es una pequeña utilidad que enumera todos los dispositivos USB que actualmente están conectados a su computadora, así como todos los dispositivos USB que utilizó anteriormente. Para cada dispositivo USB, se muestra información adicional: nombre/descripción del dispositivo, tipo de dispositivo, número de serie (para dispositivos de almacenamiento masivo), fecha/hora en que se agregó el dispositivo, Id. de proveedor, Id. de producto y más… USBDeview también le permite desinstale los dispositivos USB que utilizó anteriormente y desconecte los dispositivos USB que están actualmente conectados a su computadora. También puede usar USBDeview en una computadora remota, siempre que inicie sesión en esa computadora con el usuario administrador.
En Linux, usbview hará esto, simplemente haga clic en el dispositivo en el panel izquierdo.
Obtenga números de serie USB en Windows con PowerShell
Aquí hay una solución de PowerShell que le dará el número de serie de todos los “Dispositivos de almacenamiento masivo USB” montado en el sistema en el que lo ejecuta. Utiliza Get-CIMInstance para consultar la clase Win32_PnPSignedDriver para obtener los valores de propiedad con filtrado, bucle, configuración de un par de variables, uso de un método, etc.
Dentro del script de PowerShell a continuación, dejé algunos comentarios y lógica comentada para ejecutar con el cmdlet Get-WMIObject heredado para sistemas con versiones anteriores a PowerShell 3.0.
Potencia Shell
$DevId = (((Get-CimInstance -Class win32_PnPSignedDriver) | ?($_.Description -like '*mass*')).DeviceID);
$DevSerial = @($DevId | %$_.Split('')[2]);
$DevSerial
##### // Everything below is commented out with comments for each section \ #####
## -- See everything or the selected properties per above
#((Get-CimInstance -Class win32_PnPSignedDriver) | ?($_.Description -like '*mass*')) |
#Select Description, DeviceClass, DeviceID, Manufacturer
## -- Correlated legacy PS code older than PowerShell version 3
#$DevId = ((Get-WmiObject Win32_USBControllerDevice | %[wmi]($_.Dependent) | ?($_.Description -like '*mass*')).DeviceID);
#$DevSerial = @($DevId | %$_.Split('')[2]);
#$DevSerial
## -- See everything or selected properties per above legacy PS code
#Get-WmiObject Win32_USBControllerDevice | %[wmi]($_.Dependent) | ?($_.Description -like '*mass*') |
#Select Description, DeviceID, Manufacturer, Service
Recursos de apoyo
- Obtener CIMInstance
- clase Win32_PnPSignedDriver
- Para cada objeto
Alias estándar para Foreach-Object: el ‘
%
‘símbolo, ParaCada - Donde-Objeto
Él ‘
?
‘ símbolo y Where son ambos alias para Where-Object. Si desea ejecutar explícitamente el comando Where-Object, ejecute Where-object o ‘?
‘ - Operadores de comparación
- Separar()
- PowerShell one liner para obtener el número de serie de la unidad flash USB
- Obtener información del administrador de dispositivos de Windows