He visto artículos en C# y otros lenguajes de programación que explican cómo lograr lo que estoy buscando, pero no sé cómo convertirlos.

El siguiente enlace se explica cómo obtener la respuesta:
¿Cómo puedo conseguir la letra de unidad a un dispositivo USB?

Win32_DiskDrive-> Win32_DiskDriveToDiskPartition -> Win32_DiskPartition -> Win32_LogicalDiskToPartition -> Win32_LogicalDisk

la 3ª respuesta abajo (por GEOCHET) explica también se explica cómo obtener la respuesta, pero de nuevo, no en powershell.

Cómo encontrar la letra de la unidad USB?

OriginalEl autor resolver101 | 2012-05-17

3 Comentarios

  1. 7

    Tratar:

    gwmi win32_diskdrive | ?{$_.interfacetype -eq "USB"} | %{gwmi -Query "ASSOCIATORS OF {Win32_DiskDrive.DeviceID=`"$($_.DeviceID.replace('\','\'))`"} WHERE AssocClass = Win32_DiskDriveToDiskPartition"} |  %{gwmi -Query "ASSOCIATORS OF {Win32_DiskPartition.DeviceID=`"$($_.DeviceID)`"} WHERE AssocClass = Win32_LogicalDiskToPartition"} | %{$_.deviceid}

    Probado con uno y más de un dispositivo USB conectado.

    Gracias, por si acaso alguien quiere la no-alias versión: Get-WmiObject Win32_diskdrive | where-Object {$_.interfacetype -eq «USB»} | ForEach-Object {Get-WmiObject -Consulta «ASOCIADOR DE {Win32_DiskDrive.DeviceID="$($_.DeviceID.replace('\','\\'))«} DONDE AssocClass = Win32_DiskDriveToDiskPartition»} | ForEach-Object {Get-WmiObject -Consulta «ASOCIADOR DE {Win32_DiskPartition.DeviceID="$($_.DeviceID)«} DONDE AssocClass = Win32_LogicalDiskToPartition»} | ForEach-Object {$_.deviceid}
    Gracias por el tiempo en escribir la respuesta 🙂
    Haapy a ayudar!!

    OriginalEl autor CB.

  2. 4

    Sé que el tema ha sido abandonado por un tiempo, pero ya que es algo que yo vuelva a bastante a menudo, pensé que me gustaría actualizar un poco las cosas.

    Si está usando Windows 7 y por encima, una solución mucho más sencilla sería:

    Get-WmiObject Win32_Volume -Filter "DriveType='2'"

    Y si quieres evitar los números de magia:

    Get-WmiObject Win32_Volume -Filter ("DriveType={0}" -f [int][System.io.Drivetype]::removable)

    Referencias:
    http://msdn.microsoft.com/en-us/library/windows/desktop/aa394515(v=vs 85).aspx
    http://msdn.microsoft.com/en-us/library/system.io.drivetype.aspx

    Tenga en cuenta que Windows no necesariamente mount USB volúmenes como DriveType 2 (Disco Extraíble) en Win32_Volume. Unidades de disco duro USB que se montará con disco habilitada la caché de escritura se montará como DriveType 3 (Disco Local) que es lo que cualquier controlador estándar adjunto de volumen se mostrará como.

    OriginalEl autor Poorkenny

  3. 1

    Principio con PowerShell v3.0, Microsoft introducir el Get-Cim* comandos que hacen que esto sea más fácil que la fealdad de la Get-WmiObject ASOCIADOR método de consulta:

    Get-CimInstance -Class Win32_DiskDrive -Filter 'InterfaceType = "USB"' -KeyOnly | 
        Get-CimAssociatedInstance -ResultClassName Win32_DiskPartition -KeyOnly |
        Get-CimAssociatedInstance -ResultClassName Win32_LogicalDisk |
        Format-List *

    O:

    Get-CimInstance -Class Win32_DiskDrive -Filter 'InterfaceType = "USB"' -KeyOnly |
        Get-CimAssociatedInstance -Association Win32_DiskDriveToDiskPartition -KeyOnly |
        Get-CimAssociatedInstance -Association Win32_LogicalDiskToPartition |
        Format-List *

    Los comandos anteriores son equivalentes.

    OriginalEl autor Bacon Bits

Dejar respuesta

Please enter your comment!
Please enter your name here