Búsqueda de sitios web

Administrar unidades PowerShell


Este ejemplo solo se aplica a las plataformas Windows.

Una unidad PowerShell es una ubicación de almacén de datos a la que puede acceder como una unidad de sistema de archivos en PowerShell. Los proveedores de PowerShell crean algunas unidades para usted, como las unidades del sistema de archivos (incluidas C: y D:), las unidades de registro (HKCU: y HKLM:), y la unidad de certificado (Cert:), y puede crear sus propias unidades PowerShell. Estas unidades son útiles, pero sólo están disponibles en PowerShell. No puede acceder a ellos utilizando otras herramientas de Windows, como el Explorador de archivos o Cmd.exe.

PowerShell usa el sustantivo PSDrive para los comandos que funcionan con unidades PowerShell. Para obtener una lista de las unidades de PowerShell en su sesión de PowerShell, use el cmdlet Get-PSDrive.

Get-PSDrive
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
A          FileSystem    A:\
Alias      Alias
C          FileSystem    C:\                                 ...And Settings\me
cert       Certificate   \
D          FileSystem    D:\
Env        Environment
Function   Function
HKCU       Registry      HKEY_CURRENT_USER
HKLM       Registry      HKEY_LOCAL_MACHINE
Variable   Variable

Aunque las unidades en la pantalla varían según las unidades de su sistema, la suya debería verse similar al resultado del comando Get-PSDrive que se muestra arriba.

Las unidades del sistema de archivos son un subconjunto de las unidades de PowerShell. Puede identificar las unidades del sistema de archivos mediante la entrada FileSystem en la columna Proveedor. Las unidades del sistema de archivos en PowerShell son compatibles con el proveedor de PowerShell FileSystem.

Para ver la sintaxis del cmdlet Get-PSDrive, escriba un comando Get-Command con el parámetro Syntax:

Get-Command -Name Get-PSDrive -Syntax
Get-PSDrive [[-Name] <String[]>] [-Scope <String>] [-PSProvider <String[]>] [-V
erbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-
OutVariable <String>] [-OutBuffer <Int32>]

El parámetro PSProvider le permite mostrar solo las unidades de PowerShell compatibles con un proveedor en particular. Por ejemplo, para mostrar solo las unidades de PowerShell compatibles con el proveedor de PowerShell FileSystem, escriba un comando Get-PSDrive con el parámetro PSProvider y el FileSystem. fuerte> valor:

Get-PSDrive -PSProvider FileSystem
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
A          FileSystem    A:\
C          FileSystem    C:\                           ...nd Settings\PowerUser
D          FileSystem    D:\

Para ver las unidades de PowerShell que representan secciones del registro, use el parámetro PSProvider para mostrar solo las unidades de PowerShell que son compatibles con el proveedor del Registro de PowerShell:

Get-PSDrive -PSProvider Registry
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
HKCU       Registry      HKEY_CURRENT_USER
HKLM       Registry      HKEY_LOCAL_MACHINE

También puede utilizar los cmdlets de Ubicación estándar con las unidades PowerShell:

Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft

Agregar nuevas unidades PowerShell

Puede agregar sus propias unidades PowerShell utilizando el comando New-PSDrive. Para obtener la sintaxis del comando New-PSDrive, ingrese el comando Get-Command con el parámetro Syntax:

Get-Command -Name New-PSDrive -Syntax
New-[-Description <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug ]
[-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St ring>]
[-OutBuffer <Int32>] [-WhatIf] [-Confirm]

Para crear una nueva unidad PowerShell, debe proporcionar tres parámetros:

  • Un nombre para la unidad (puede usar cualquier nombre válido de PowerShell)
  • PSProvider: utilice FileSystem para las ubicaciones del sistema de archivos y Registry para las ubicaciones del registro.
  • La raíz, es decir, la ruta a la raíz de la nueva unidad.

Por ejemplo, puede crear una unidad denominada Office que esté asignada a la carpeta que contiene las aplicaciones de Microsoft Office en su computadora, como C:\Program Files\MicrosoftOffice\OFFICE11. . Para crear la unidad, escriba el siguiente comando:

New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
Office     FileSystem    C:\Program Files\Microsoft Offic...

Nota

En general, las rutas no distinguen entre mayúsculas y minúsculas.

Se accede a una unidad PowerShell usando su nombre seguido de dos puntos (:).

Una unidad PowerShell puede simplificar muchas tareas. Por ejemplo, algunas de las claves más importantes del registro de Windows tienen rutas extremadamente largas, lo que hace que su acceso sea complicado y difícil de recordar. La información de configuración crítica reside en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. Para ver y cambiar elementos en la clave de registro CurrentVersion, puede crear una unidad PowerShell basada en esa clave escribiendo:

New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
cvkey      Registry      HKLM\Software\Microsoft\Windows\...

Luego puede cambiar la ubicación de la unidad cvkey: como lo haría con cualquier otra unidad:

cd cvkey:

o :

Set-Location cvkey: -PassThru
Path
----
cvkey:\

El cmdlet New-PSDrive agrega la nueva unidad solo a la sesión actual de PowerShell. Si cierra la ventana de PowerShell, la nueva unidad se perderá. Para guardar una unidad de PowerShell, use el cmdlet Export-Console para exportar la sesión actual de PowerShell y luego use el parámetro PowerShell.exe PSConsoleFile para importarlo. O agregue la nueva unidad a su perfil de Windows PowerShell.

Eliminar unidades PowerShell

Puede eliminar unidades de PowerShell utilizando el cmdlet Remove-PSDrive. Por ejemplo, si agregó la unidad Office: PowerShell, como se muestra en el tema New-PSDrive, puede eliminarla escribiendo:

Remove-PSDrive -Name Office

Para eliminar la unidad PowerShell cvkey:, utilice el siguiente comando:

Remove-PSDrive -Name cvkey

Sin embargo, no puedes eliminarlo mientras estás en la unidad. Por ejemplo:

cd office:
Remove-PSDrive -Name office
Remove-PSDrive : Cannot remove drive 'Office' because it is in use.
At line:1 char:15
+ remove-psdrive  <<<< -name office

Agregar y quitar unidades fuera de PowerShell

PowerShell detecta unidades del sistema de archivos que se agregan o eliminan en Windows, incluidas:

  • unidades de red que están asignadas
  • Unidades USB que están conectadas
  • Unidades que se eliminan mediante el comando net use o desde un script de Windows Script Host (WSH)

Artículos relacionados