如何检查驱动器是虚拟的,Powershell

时间:2014-06-04 13:14:06

标签: powershell powershell-v3.0 virtual-drive

如何检查驱动器是虚拟的(使用subst命令创建)?

Get-VirtualDisk不起作用(powershell 3.0)

3 个答案:

答案 0 :(得分:1)

您可以解析运行subst的结果,以获取现有替换的列表,如:

$substdrives = @{};
(subst) |% { $part = $_ -split '\\: => '; $substdrives[$part[0]] = $part[1] } ;
$substdrives | ft

答案 1 :(得分:1)

您可以将subst输出的每一行中的第一个字符提取到一个数组中,并检查该数组中是否包含特定的驱动器:

$substed = subst | % { $_.Substring(0,1) + ':' }

if ( $substed -contains 'x:' ) {
  # do stuff
}

答案 2 :(得分:0)

subst无法创建虚拟磁盘,因此Get-VirtualDisk无法返回这些驱动器。

您可以使用Get-PSDrive并查找Description属性与其他驱动器的Description属性匹配的驱动器。例如,在我的系统上,我有subst ed Q指向我的C盘上的路径:

>get-psdrive |where-object {$_.provider -like  "*filesystem"}|select name,description|ft -auto

Name Description
---- -----------
C    OSDisk
D
E
P
Q    OSDisk
U