Pergunta

Como verificar a unidade é virtual (criada usando subst comando)?

Get-VirtualDisk não funciona (Powershell 3.0)

Foi útil?

Solução

Você poderia extrair o primeiro caractere de cada linha do subst produza em uma matriz e verifique se uma unidade específica está contida nessa matriz:

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

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

Outras dicas

Você pode analisar o resultado da execução subst para obter uma lista de substituições existentes como:

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

subst não cria um disco virtual, então Get-VirtualDisk não retornará essas unidades.

Você pode usar Get-PSDrive e procure unidades onde o Description propriedade corresponde ao Description propriedade de outra unidade.Por exemplo, no meu sistema eu tenho substed Q apontando para um caminho na minha unidade C:

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

Name Description
---- -----------
C    OSDisk
D
E
P
Q    OSDisk
U
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top