Get the drive letter of USB drive in PowerShell

powershell, usb, wmi

Solution

Try:

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}

Tested with one and more than one USB device plugged-in.

Problem

I've seen articles in C# and some other languages that explain how to achieve what I'm looking for but I don't know how to convert them. The following link explains how to get the answer: How can I get the drive letter of an USB device? Win32_DiskDrive-> Win32_DiskDriveToDiskPartition -> Win32_DiskPartition -> Win32_LogicalDiskToPartition -> Win32_LogicalDisk The answer by GEOCHET explains also explains how to achieve the answer but again, not in PowerShell: How to find USB drive letter?

Original source

Related problems