Ver todas las unidades accesibles en PowerShell

Ver todas las unidades accesibles en PowerShell

Noté que cd \ navega a la raíz de mi disco.

Pero hay otras unidades a las que puedo acceder desde mi computadora.

¿Existe algún comando en PowerShell que enumere todas las unidades a las que puedo conectarme?

Respuesta1

Esto depende en cierta medida de lo que llames "impulso". En PowerShell, hay unidades que representan sus volúmenes locales o asignados en red habituales, así como unidades que contienen otros objetos como alias, variables de entorno, funciones, variables de PowerShell, colmenas de registro y más.

Para ver una lista de todas las "unidades" en PowerShell, use:

Get-PSDrive

O puedes usar el alias incorporado:

gdr

(En cualquier lugar que vea Get-PSDrivea continuación, puede sustituirlo gdr).

Para obtener solo unidades de FileSystem, por ejemplo: volúmenes o bahías de medios locales o mapeados en red, use:

Get-PSDrive -PSProvider FileSystem

Llegarjustounidades locales, ojustodiscos duros, no pude encontrar una propiedad o método apropiado en los objetos generados porGet-PSDrive para filtrar. Un poco de búsqueda en Google más tarde, encontréDocumentación Get-PSDrive de Microsoft en TechNet. Allí, junto con los detalles sobre cómo utilizar Get-PSDrive, también se enumeran algunos otros métodos de enumeración de unidades accesibles en PowerShell. Uno que encontré útil es a través de la clase System.IO.DriveInfo en .NET Framework.

El siguiente comando, ejecutable a través de PowerShell, enumerará sólo los discos duros locales.

[System.IO.DriveInfo]::getdrives() | Where-Object {$_.DriveType -eq 'Fixed'}

Si desea incluir cualquier unidad local, no solo discos duros, utilice esto:

[System.IO.DriveInfo]::getdrives() | Where-Object {$_.DriveType -ne 'Network'}

Si solo desea ver las letras de las unidades, canalice la salida a Select-Object, así:

[System.IO.DriveInfo]::getdrives() | Where-Object {$_.DriveType -ne 'Network'} | Select-Object -Property Name

Tenga en cuenta que Where-Objecty Select-Objecttambién tiene alias integrados de ?y select, respectively. (Where-Object is also usable asdonde`; en realidad es solo una cuestión de preferencia). La clase System.IO.DriveInfo también se puede acortar a solo IO.DriveInfo. Entonces, el último comando podría ejecutarse así, si lo desea:

[IO.DriveInfo]::getdrives() | ? {$_.DriveType -ne 'Network} | select -Property Name

Por supuesto, hay muchas más cosas que puede hacer con .NET Get-PSDrivesy las clases .NET accesibles a través de PowerShell, así como muchos otros atajos de PowerShell disponibles. Sugiero leer más en TechNet y sitios similares, y usar los Get-Helpcmdlets y Get-Commandpara familiarizarse mejor con el entorno.

Respuesta2

Utilice el siguiente comando powershellpara enumerar todas las unidades de su PC

gdr -PSProvider 'FileSystem'

o

Get-PSDrive -PSProvider 'FileSystem'

información relacionada