Solución

Solución

Tengo un nombre de objeto de dispositivo físico, por ejemplo, "\Device\0000007c".

En Windows 7, ¿cómo puedo encontrar qué dispositivo corresponde a esa ID sin pasar por todos los dispositivos de mi sistema en el Administrador de dispositivos, uno a la vez, abrir el cuadro de diálogo de propiedades y mirar la entrada Nombre del objeto del dispositivo físico?

encontréEncuentre un dispositivo en Windows según los identificadores de objetos de dispositivos físicos (PDO)pero eso resultó ser un problema XY y no responde a esta pregunta.

Intenté buscar en el registro (claves/valores/datos) la cadena "0000007c", "0000007C" y la palabra dword 0x0000007C, pero no pude encontrar nada relacionado con los dispositivos.

En Windows anterior podías imprimir un informe completo desde el Administrador de dispositivos (que luego podía buscar), pero en Windows 7 el Administrador de dispositivos ya no tiene esta opción.

Respuesta1

Solución

De la documentación oficial:

Cuando un conductor de autobús detecta que se han conectado o desconectado dispositivos infantiles, informa al administrador Plug and Play (PnP). En respuesta, el administrador PnP le pide al conductor del autobús que cree un objeto de dispositivo físico (PDO) para cada dispositivo secundario que esté conectado al dispositivo principal (es decir, el autobús).

Fuente:Conceptos de WDM para controladores WDF

Para obtener la información requerida, abra unsímbolo del sistemay ejecute el siguiente comando:

wmic path Win32_PnPSignedDriver where "pdo like '%0000007c'" get devicename,pdo

Otras lecturas

Respuesta2

Si esto es para unDisco físico, puede utilizar las siguientes líneas de script de Powershell Core para determinar el disco real que identifica el oscuroNombre DOP:

# Starting with a PDO name, likely copy-pasta'd from some obscure warning/error message
$pdo_name='\Device\0000005b'

# Step 1
$system_element_dev_id = Get-CimInstance Win32_PnPSignedDriver |
                           ? {$_.PDO -eq $pdo_name} |
                           Select-Object -ExpandProperty DeviceID

# Step 2: Use the proceeds from the above transaction to identify the "Disk Number"
$phys_disk_num = Get-CimInstance Win32_PNPDevice |
                   ? {[string]$_.SystemElement.DeviceID -eq $system_element_dev_id} |
                   Select-Object @{
                     n='disk_number';
                     e={[int]$_.SameElement.DeviceID.replace('\\.\PHYSICALDRIVE','')}
                   } |
                   Select-Object -expand disk_number

# Step 3: Profit! Get the info you were after
Get-PhysicalDisk | ? {$_.DeviceId -eq $phys_disk_num}

Salida de muestra, con el número de serie oculto y algunas columnas/valores abreviados para evitar latemida barra de desplazamiento horizontal:

Num FriendlyName  SerialNumber MediaType CanPool OpStatus HealthStat Usage        Size
--- ------------  ------------ --------- ------- -------- ---------- -----        ----
5   ST16000NM001G ZL123XYZ     HDD       False   OK       Healthy    Auto-Sel 14.55 TB

Hackear el script anterior para un tipo de dispositivo que no es unDisco físicoquedará como ejercicio para el lector.

información relacionada