private void lookForUsdDrive() { foreach (ManagementObject drive in new ManagementObjectSearcher("select * from Win32_DiskDrive where InterfaceType='USB'").Get()) { foreach (ManagementObject partition in new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" + drive["DeviceID"] + "'} WHERE AssocClass =Win32_DiskDriveToDiskPartition").Get()) { Console.WriteLine("Partition=" + partition["Name"]); foreach (ManagementObject disk in new ManagementObjectSearcher("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" + partition["DeviceID"] + "'} WHERE AssocClass =Win32_LogicalDiskToPartition").Get()) { DriveInfo drvinf = new DriveInfo(disk["Name"] + "\"); Console.WriteLine("Name:" + drvinf.Name); Console.WriteLine(" -DriveFormat:" + drvinf.DriveFormat); Console.WriteLine(" -DriveType:" + drvinf.DriveType); Console.WriteLine(" -IsReady:" + drvinf.IsReady); Console.WriteLine(" -RootDirectory:" + drvinf.RootDirectory); Console.WriteLine(" -TotalFreeSpace:" + drvinf.TotalFreeSpace); Console.WriteLine(" -TotalSize:" + drvinf.TotalSize); Console.WriteLine(" -VolumeLabel:" + drvinf.VolumeLabel); } } } return; }