我要如何在PowerShell中一个USB驱动器的盘符?(How do i get the driv

2019-06-24 12:43发布

我已经看到了C#和文章,介绍如何acheive寻找什么即时的,但我不知道如何将它们转换一些其他语言。

下面的链接解释如何得到的答案: 我怎样才能得到一个USB设备的驱动器号?

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

第三个答案下降(由GEOCHET)解释也解释了如何acheive答案,但再一次,不是在PowerShell中。

如何找到USB驱动器盘符?

Answer 1:

尝试:

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设备插上电源。



Answer 2:

我知道受试者已经下降了一段时间,但因为它的东西,我回来漂亮的时候,我不过我会更新的东西一点。

如果使用的是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



Answer 3:

使用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 *

上述命令是等效的。



文章来源: How do i get the drive letter of a USB Drive in Powershell?