Вопрос

Как проверить диск виртуальный ли он (создан с помощью subst команда)?

Get-VirtualDisk не работает (powershell 3.0)

Это было полезно?

Решение

Вы можете извлечь первый символ из каждой строки subst выведите результат в массив и проверьте, содержится ли в этом массиве конкретный диск:

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

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

Другие советы

Вы можете проанализировать результат запуска subst, чтобы получить список существующих замеек, таких как:

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

subst не создает виртуальный диск, поэтому Get-VirtualDisk не вернет эти диски.

Возможно, вы сможете использовать Get-PSDrive и искать диски, на которых Description свойство соответствует Description собственность другого диска.Например, в моей системе у меня есть substed Q указывает путь на моем диске C:

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

Name Description
---- -----------
C    OSDisk
D
E
P
Q    OSDisk
U
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top