Get-PSDrive
Obtiene las unidades de la sesión actual.
Sintaxis
Name (valor predeterminado)
Get-PSDrive
[[-Name] <String[]>]
[-Scope <String>]
[-PSProvider <String[]>]
[-UseTransaction]
[<CommonParameters>]
LiteralName
Get-PSDrive
[-LiteralName] <String[]>
[-Scope <String>]
[-PSProvider <String[]>]
[-UseTransaction]
[<CommonParameters>]
Description
El cmdlet Get-PSDrive obtiene las unidades de la sesión actual. Se puede obtener una determinada unidad de disco o todas las unidades de la sesión.
Este cmdlet obtiene los siguientes tipos de unidades:
- Unidades lógicas de Windows en el equipo, incluidas las unidades asignadas a recursos compartidos de red.
- Unidades expuestas por proveedores de Windows PowerShell (como certificate:, Function:, y Alias: unidades) y HKLM: y HKCU: unidades expuestas por el proveedor del Registro de Windows PowerShell.
- Unidades temporales especificadas por la sesión y unidades de red asignadas persistentes que se crean mediante el cmdlet New-PSDrive.
A partir de Windows PowerShell 3.0, el parámetro Persist del cmdlet New-PSDrive puede crear unidades de red asignadas que se guardan en el equipo local y están disponibles en otras sesiones. Para obtener más información, vea New-PSDrive.
Además, a partir de Windows PowerShell 3.0, cuando una unidad externa está conectada al equipo, Windows PowerShell agrega automáticamente un PSDrive al sistema de archivos que representa la nueva unidad. No es necesario reiniciar Windows PowerShell. De forma similar, cuando se desconecta una unidad externa del equipo, Windows PowerShell elimina automáticamente el PSDrive que representa la unidad eliminada.
Ejemplos
Ejemplo 1: Obtener unidades en la sesión actual
PS C:\> Get-PSDrive
Name Provider Root
---- -------- ----
Alias Alias
C FileSystem C:\
Cert Certificate \
D FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
Este comando obtiene las unidades de la sesión actual.
La salida muestra el disco duro (C:), CD-ROM unidad (D:) y las unidades expuestas por los proveedores de Windows PowerShell (Alias:, Cert:, Env:, Function:, HKCU:, HKLM:y Variable:).
Ejemplo 2: Obtener una unidad en el equipo
PS C:\> Get-PSDrive D
Name Provider Root
---- -------- ----
D FileSystem D:\
Este comando obtiene la unidad D: en el equipo. Tenga en cuenta que la letra de unidad del comando no va seguida de dos puntos.
Ejemplo 3: Obtener todas las unidades compatibles con el proveedor del sistema de archivos de Windows PowerShell
PS C:\> Get-PSDrive -PSProvider FileSystem
Name Provider Root
---- -------- ----
C FileSystem C:\
D FileSystem D:\
X FileSystem X:\
Y FileSystem \\Server01\Public
Z FileSystem C:\Windows\System32
Este comando obtiene todas las unidades compatibles con el proveedor FileSystem de Windows PowerShell.
Esto incluye unidades fijas, particiones lógicas, unidades de red asignadas y unidades temporales que se crean mediante el cmdlet New-PSDrive.
Ejemplo 4: Comprobación para ver si una unidad está en uso como un nombre de unidad de Windows PowerShell
if (Get-PSDrive X -ErrorAction SilentlyContinue) {
Write-Host 'The X: drive is already in use.'
} else {
New-PSDrive -Name X -PSProvider Registry -Root HKLM:\SOFTWARE
}
Este comando comprueba si la unidad X ya está en uso como un nombre de unidad de Windows PowerShell.
Si no es así, el comando usa el cmdlet New-PSDrive para crear una unidad temporal asignada a la clave del Registro HKLM:\SOFTWARE.
Ejemplo 5: Comparar los tipos de unidades del sistema de archivos
PS C:\> Get-PSDrive -PSProvider FileSystem
Name Provider Root
---- -------- ----
C FileSystem C:\
D FileSystem D:\
X FileSystem X:\
Y FileSystem \\Server01\Public
Z FileSystem C:\Windows\System32
PS C:\> net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
X: \\Server01\Public Microsoft Windows Network
PS C:\> [System.IO.DriveInfo]::GetDrives()
Name : C:\
DriveType : Fixed
DriveFormat : NTFS
IsReady : True
AvailableFreeSpace : 39831498752
TotalFreeSpace : 39831498752
TotalSize : 79900368896
RootDirectory : C:\
VolumeLabel :
Name : D:\
DriveType : CDRom
DriveFormat :
IsReady : False
AvailableFreeSpace :
TotalFreeSpace :
TotalSize :
RootDirectory : D:\
VolumeLabel :
Name : X:\
DriveType : Network
DriveFormat : NTFS
IsReady : True
AvailableFreeSpace : 36340559872
TotalFreeSpace : 36340559872
TotalSize : 36413280256
RootDirectory : X:\
VolumeLabel : D_Drive
PS C:\> Get-WmiObject Win32_LogicalDisk
DeviceID : C:
DriveType : 3
ProviderName :
FreeSpace : 39831252992
Size : 79900368896
VolumeName :
DeviceID : D:
DriveType : 5
ProviderName :
FreeSpace :
Size :
VolumeName :
DeviceID : X:
DriveType : 4
ProviderName : \\server01\public
FreeSpace : 36340559872
Size : 36413280256
VolumeName : D_Drive
PS C:\> Get-WmiObject Win32_NetworkConnection
LocalName RemoteName
-------------- ------------
x: \\server01\public
En este ejemplo se comparan los tipos de unidades del sistema de archivos que se muestran Get-PSDrive a los mostrados mediante otros métodos. En este ejemplo se muestran distintas formas de mostrar unidades en Windows PowerShell y se muestra que las unidades temporales específicas de sesión creadas mediante el cmdlet New-PSDrive solo son accesibles en Windows PowerShell.
El primer comando usa Get-PSDrive para obtener todas las unidades del sistema de archivos de la sesión.
Esto incluye las unidades fijas (C: y D:), una unidad de red asignada (X:) que se creó mediante el parámetro persist
Un comando net use, que muestra las unidades de red asignadas de Windows, muestra solo la unidad X. No muestra las unidades Y: y Z: creadas por New-PSDrive. Muestra que la unidad X: también está asignada a \\Server01\Public.
El tercer comando usa el método
El cuarto comando usa el cmdlet Get-WmiObject para obtener las instancias de la clase Win32_LogicalDisk. Devuelve las unidades C:, D:y X: , pero no las unidades temporales creadas por New-PSDrive.
El último comando usa el cmdlet Get-WmiObject para mostrar las instancias de la clase Win32_NetworkConnection. Al igual que net use, devuelve solo la unidad X persistente: creada por New-PSDrive.
Parámetros
-LiteralName
Especifica el nombre de la unidad.
El valor de LiteralName se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si el nombre incluye caracteres de escape, escríbalo entre comillas simples. Las comillas simples indican a Windows PowerShell que no interprete ningún carácter como secuencias de escape.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
LiteralName
| Posición: | 0 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Name
Especifica, como matriz de cadenas, el nombre o el nombre de las unidades que este cmdlet obtiene en la operación. Escriba el nombre o la letra de la unidad sin dos puntos (:).
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
Name
| Posición: | 0 |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-PSProvider
Especifica, como matriz de cadenas, el proveedor de Windows PowerShell. Este cmdlet solo obtiene las unidades admitidas por este proveedor. Escriba el nombre de un proveedor, como FileSystem, Registry o Certificate.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Scope
Especifica el ámbito en el que este cmdlet obtiene las unidades.
Los valores aceptables para este parámetro son:
- Global
- Local
- Script
- un número relativo al ámbito actual (de 0 al número de ámbitos, donde 0 es el ámbito actual y 1 es su elemento primario). "Local" es el valor predeterminado. Para obtener más información, vea about_Scopes (https://go.microsoft.com/fwlink/?LinkID=113260).
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-UseTransaction
Incluye el comando en la transacción activa. Este parámetro solo es válido cuando una transacción está en curso. Para obtener más información, consulte about_Transactions.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | usetx |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
None
No se pueden canalizar objetos a este cmdlet.
Salidas
PSDriveInfo
Este cmdlet devuelve objetos que representan las unidades de la sesión.
Notas
- Este cmdlet está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, use el cmdlet Get-PSProvider. Para obtener más información, consulte about_Providers.
- Las unidades de red asignadas que se crean mediante el parámetro Persist del cmdlet New-PSDrive son específicos de una cuenta de usuario. Las unidades de red asignadas que se crean en sesiones que se inician con la opción Ejecutar como administrador o con las credenciales de otro usuario no son visibles en las sesiones que se inician sin credenciales explícitas ni con las credenciales del usuario actual.