我已经看到了C#和文章,介绍如何acheive寻找什么即时的,但我不知道如何将它们转换一些其他语言。
下面的链接解释如何得到的答案: 我怎样才能得到一个USB设备的驱动器号?
Win32_DiskDrive-> Win32_DiskDriveToDiskPartition - > Win32_DiskPartition - > Win32_LogicalDiskToPartition - >的Win32_LogicalDisk
第三个答案下降(由GEOCHET)解释也解释了如何acheive答案,但再一次,不是在PowerShell中。
如何找到USB驱动器盘符?
尝试:
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}
测试了一个和多个USB设备插上电源。
我知道受试者已经下降了一段时间,但因为它的东西,我回来漂亮的时候,我不过我会更新的东西一点。
如果使用的是Windows 7及以上,一个更简单的解决办法是:
Get-WmiObject Win32_Volume -Filter "DriveType='2'"
如果你想避免幻数:
Get-WmiObject Win32_Volume -Filter ("DriveType={0}" -f [int][System.io.Drivetype]::removable)
参考文献: 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
使用PowerShell 3.0开始,微软引入了Get-Cim*
命令,使这个比的丑陋更容易Get-WmiObject
ASSOCIATORS查询方法:
Get-CimInstance -Class Win32_DiskDrive -Filter 'InterfaceType = "USB"' -KeyOnly |
Get-CimAssociatedInstance -ResultClassName Win32_DiskPartition -KeyOnly |
Get-CimAssociatedInstance -ResultClassName Win32_LogicalDisk |
Format-List *
要么:
Get-CimInstance -Class Win32_DiskDrive -Filter 'InterfaceType = "USB"' -KeyOnly |
Get-CimAssociatedInstance -Association Win32_DiskDriveToDiskPartition -KeyOnly |
Get-CimAssociatedInstance -Association Win32_LogicalDiskToPartition |
Format-List *
上述命令是等效的。