Administrar unidades de Windows PowerShellManaging Windows PowerShell Drives

Una unidad de Windows PowerShell es una ubicación de almacén de datos a la que se puede acceder como una unidad del sistema de archivos en Windows PowerShell.A Windows PowerShell drive is a data store location that you can access like a file system drive in Windows PowerShell. Los proveedores de Windows PowerShell crean algunas unidades automáticamente, como las unidades de sistema de archivos (C: y D:), las unidades de Registro (HKCU: y HKLM:) y la unidad de certificado (Cert:). También puede crear sus propias unidades de Windows PowerShell.The Windows PowerShell providers create some drives for you, such as the file system drives (including C: and D:), the registry drives (HKCU: and HKLM:), and the certificate drive (Cert:), and you can create your own Windows PowerShell drives. Estas unidades son muy útiles, pero estarán disponibles solo en Windows PowerShell.These drives are very useful, but they are available only within Windows PowerShell. No se puede tener acceso a ellas con otras herramientas de Windows, como el Explorador de archivos o Cmd.exe.You cannot access them by using other Windows tools, such as File Explorer or Cmd.exe.

Windows PowerShell usa el término PSDrive en los comandos que funcionan con las unidades de Windows PowerShell.Windows PowerShell uses the noun, PSDrive, for commands that work with Windows PowerShell drives. Use el cmdlet Get-PSDrive para ver una lista de las unidades de WindowsPowerShell en su sesión de Windows PowerShell.For a list of the Windows PowerShell drives in your Windows PowerShell session, use the Get-PSDrive cmdlet.

PS> 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 que aparecen en la presentación difieren de las unidades del sistema, la lista tendrá un aspecto similar a la salida del comando Get-PSDrive mostrado anteriormente.Although the drives in the display vary with the drives on your system, the listing will look similar to the output of the Get-PSDrive command shown above.

Las unidades del sistema de archivos son un subconjunto de las unidades de Windows PowerShell.File system drives are a subset of the Windows PowerShell drives. Puede identificar las unidades del sistema de archivos por la entrada FileSystem en la columna Provider.You can identify the file system drives by the FileSystem entry in the Provider column. (Las unidades del sistema de archivos en Windows PowerShell son compatibles con el proveedor FileSystem de Windows PowerShell).(The file system drives in Windows PowerShell are supported by the Windows PowerShell FileSystem provider.)

Para ver la sintaxis del cmdlet Get-PSDrive, escriba un comando Get-Command con el parámetro Syntax:To see the syntax of the Get-PSDrive cmdlet, type a Get-Command command with the Syntax parameter:

PS> 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 permite mostrar únicamente las unidades de Windows PowerShell compatibles con un proveedor determinado.The PSProvider parameter lets you display only the Windows PowerShell drives that are supported by a particular provider. Por ejemplo, para mostrar solo las unidades de Windows PowerShell compatibles con el proveedor FileSystem de Windows PowerShell, escriba un comando Get-PSDrive con el parámetro PSProvider y el valor FileSystem:For example, to display only the Windows PowerShell drives that are supported by the Windows PowerShell FileSystem provider, type a Get-PSDrive command with the PSProvider parameter and the FileSystem value:

PS> 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 Windows PowerShell que representan los subárboles del Registro, use el parámetro PSProvider para mostrar solo las unidades de Windows PowerShell compatibles con el proveedor de Registro de Windows PowerShell:To view the Windows PowerShell drives that represent registry hives, use the PSProvider parameter to display only the Windows PowerShell drives that are supported by the Windows PowerShell Registry provider:

PS> Get-PSDrive -PSProvider Registry

Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
HKCU       Registry      HKEY_CURRENT_USER
HKLM       Registry      HKEY_LOCAL_MACHINE

También puede usar los cmdlets Location estándar con las unidades de disco de Windows PowerShell:You can also use the standard Location cmdlets with the Windows PowerShell drives:

PS> Set-Location HKLM:\SOFTWARE
PS> Push-Location .\Microsoft
PS> Get-Location

Path
----
HKLM:\SOFTWARE\Microsoft

Agregar nuevas unidades de Windows PowerShell (New-PSDrive)Adding New Windows PowerShell Drives (New-PSDrive)

Puede usar el comando New-PSDrive para agregar sus propias unidades de Windows PowerShell.You can add your own Windows PowerShell drives by using the New-PSDrive command. Para obtener la sintaxis del comando New-PSDrive, escriba el comando Get-Command con el parámetro Syntax:To get the syntax for the New-PSDrive command, enter the Get-Command command with the Syntax parameter:

PS> Get-Command -Name New-PSDrive -Syntax

New-PSDrive [-Name] <String> [-PSProvider] <String> [-Root] <String> [-Descript
ion <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug
] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St
ring>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]

Para crear una unidad de Windows PowerShell, debe proporcionar tres parámetros:To create a new Windows PowerShell drive, you must supply three parameters:

  • Un nombre de unidad (puede usar cualquier nombre válido de Windows PowerShell)A name for the drive (you can use any valid Windows PowerShell name)

  • El PSProvider (use "FileSystem" para las ubicaciones del sistema de archivos y "Registry" para las ubicaciones del Registro)The PSProvider (use "FileSystem" for file system locations and "Registry" for registry locations)

  • La raíz; es decir, la ruta de acceso a la raíz de la nueva unidadThe root, that is, the path to the root of the new drive

Por ejemplo, puede crear una unidad llamada "Office" que esté asignada a la carpeta que contiene las aplicaciones de Microsoft Office del equipo, como C:\Archivos de programa\Microsoft Office\OFFICE11.For example, you can create a drive named "Office" that is mapped to the folder that contains the Microsoft Office applications on your computer, such as C:\Program Files\Microsoft Office\OFFICE11. Para crear la unidad, escriba el siguiente comando:To create the drive, type the following command:

PS> New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Micr
osoft Office\OFFICE11"

Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
Office     FileSystem    C:\Program Files\Microsoft Offic...

Nota

Por lo general, las rutas de acceso no distinguen mayúsculas de minúsculas.In general, paths are not case-sensitive.

La referencia a la nueva unidad de Windows PowerShell se hace como con cualquier otra unidad de Windows PowerShell; es decir, por su nombre seguido de dos puntos (:).You refer to the new Windows PowerShell drive as you do all Windows PowerShell drives -- by its name followed by a colon (:).

Una unidad de Windows PowerShell puede hacer que muchas tareas sean mucho más sencillas de realizar.A Windows PowerShell drive can make many tasks much simpler. Por ejemplo, algunas de las claves más importantes en el Registro de Windows tienen rutas de acceso muy largas, lo que las hace complicadas de acceder y difíciles de recordar.For example, some of the most important keys in the Windows registry have extremely long paths, making them cumbersome to access and difficult to remember. La información de configuración crítica reside en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.Critical configuration information resides under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. Si quiere ver y cambiar elementos en la clave del Registro CurrentVersion, puede escribir lo siguiente para crear una unidad de Windows PowerShell que se base en esa clave:To view and change items in the CurrentVersion registry key, you can create a Windows PowerShell drive that is rooted in that key by typing:

PS> New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\W
indows\CurrentVersion

Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
cvkey      Registry      HKLM\Software\Microsoft\Windows\...

Luego, puede cambiar la ubicación a la unidad cvkey:, como lo haría con cualquier otra unidad:``You can then change location to the cvkey: drive as you would any other drive:``

PS> cd cvkey:

o:or:

PS> Set-Location cvkey: -PassThru

Path
----
cvkey:\

El cmdlet New-PsDrive agrega la nueva unidad solo en la sesión actual de Windows PowerShell.The New-PsDrive cmdlet adds the new drive only to the current Windows PowerShell session. Si cierra la ventana de Windows PowerShell, la nueva unidad se perderá.If you close the Windows PowerShell window, the new drive is lost. Para guardar una unidad de Windows PowerShell, use el cmdlet Export-Console para exportar la sesión actual de Windows PowerShell y luego use el parámetro PSConsoleFile de PowerShell.exe para importarla.To save a Windows PowerShell drive, use the Export-Console cmdlet to export the current Windows PowerShell session, and then use the PowerShell.exe PSConsoleFile parameter to import it. También puede agregar la nueva unidad al perfil de Windows PowerShell.Or, add the new drive to your Windows PowerShell profile.

Eliminar unidades de Windows PowerShell (Remove-PSDrive)Deleting Windows PowerShell Drives (Remove-PSDrive)

Puede usar el cmdlet Remove-PSDrive para eliminar unidades de Windows PowerShell.You can delete drives from Windows PowerShell by using the Remove-PSDrive cmdlet. El cmdlet Remove-PSDrive es fácil de usar. Para eliminar una unidad específica de Windows PowerShell, basta con proporcionar el nombre de dicha unidad.The Remove-PSDrive cmdlet is easy to use; to delete a specific Windows PowerShell drive, you just supply the Windows PowerShell drive name.

Por ejemplo, si ha agregado la unidad de Windows PowerShell Office, como se indica en el tema sobre New-PSDrive, puede eliminarla escribiendo lo siguiente:For example, if you added the Office: Windows PowerShell drive, as shown in the New-PSDrive topic, you can delete it by typing:

Remove-PSDrive -Name Office

Para eliminar la unidad cvkey: de Windows PowerShell, que también se muestra en el tema New-PSDrive, use el siguiente comando:To delete the cvkey: Windows PowerShell drive, also shown in the New-PSDrive topic, use the following command:

Remove-PSDrive -Name cvkey

Una unidad de Windows PowerShell es fácil de eliminar, pero esto no podrá llevarlo a cabo mientras se encuentre en la unidad.It's easy to delete a Windows PowerShell drive, but you can't delete it while you are in the drive. Por ejemplo:For example:

PS> cd office:
PS 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 Windows PowerShellAdding and Removing Drives Outside Windows PowerShell

Windows PowerShell detecta las unidades del sistema de archivos que se han agregado o quitado en Windows, incluidas las unidades de red asignadas, las unidades USB conectadas y las unidades que se han eliminado mediante el comando net use o los métodos WScript.NetworkMapNetworkDrive y RemoveNetworkDrive de un script de Windows Script Host (WSH).Windows PowerShell detects file system drives that are added or removed in Windows, including network drives that are mapped, USB drives that are attached, and drives that are deleted by using either the net use command or the WScript.NetworkMapNetworkDrive and RemoveNetworkDrive methods from a Windows Script Host (WSH) script.