Como verificar a unidade é virtual, Powershell
-
21-12-2019 - |
Pergunta
Como verificar a unidade é virtual (criada usando subst
comando)?
Get-VirtualDisk
não funciona (Powershell 3.0)
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 subst
ed 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