New-PSDrive
Crea unidades de red asignadas temporales y persistentes.
Sintaxis
Default (valor predeterminado)
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Description
El cmdlet New-PSDrive crea unidades temporales y persistentes asignadas a o asociadas a una ubicación en un almacén de datos, como una unidad de red, un directorio en el equipo local o una clave del Registro, y unidades de red asignadas persistentes de Windows asociadas a una ubicación del sistema de archivos en un equipo remoto.
Las unidades temporales solo existen en la sesión de PowerShell actual y en las sesiones que cree en la sesión actual.
Pueden tener cualquier nombre válido en PowerShell y se pueden asignar a cualquier recurso local o remoto.
Puede usar unidades temporales de PowerShell para acceder a los datos del almacén de datos asociado, como haría con cualquier unidad de red asignada.
Puede cambiar las ubicaciones en la unidad, mediante Set-Location, cdo chdiry acceder al contenido de la unidad mediante Get-Item, Get-ChildItemo dir.
Sin embargo, dado que las unidades temporales solo se conocen en PowerShell, no se puede acceder a ellas mediante el Explorador de archivos, instrumental de administración de Windows (WMI), el modelo de objetos componentes (COM) o Microsoft .NET Framework, o mediante herramientas como Net Use.
Las siguientes características se agregan a New-PSDrive en Windows PowerShell 3.0:
- Unidades de red asignadas.
Puede usar el parámetro Persist de
New-PSDrivepara crear unidades de red asignadas de Windows. A diferencia de las unidades temporales de PowerShell, las unidades de red asignadas por Windows no son específicas de la sesión. Se guardan en Windows y se pueden administrar mediante herramientas estándar de Windows, como el Explorador de archivos y net Use. Las unidades de red asignadas deben tener un nombre de letra de unidad y estar conectados a una ubicación remota del sistema de archivos. Cuando el comando se limita localmente (sin origen de puntos), el parámetro Persist no conserva la creación de un PSDrive más allá del ámbito en el que se ejecuta el comando. Si ejecutaNew-PSDrivedentro de un script y desea que la unidad persista indefinidamente, debe generar puntos en el script. Para obtener los mejores resultados, para forzar que una nueva unidad persista indefinidamente, agregue el parámetro Scope al comando y establezca su valor en Global. - Unidades externas. Cuando una unidad externa está conectada al equipo, PowerShell agrega automáticamente un PSDrive al sistema de archivos que representa la nueva unidad. No es necesario reiniciar PowerShell. Del mismo modo, cuando se desconecta una unidad externa del equipo, PowerShell elimina automáticamente el PSDrive que representa la unidad eliminada.
- Credenciales para rutas de acceso UNC.
Cuando el valor del parámetro
Ejemplos
Ejemplo 1: Creación de una unidad asignada a un recurso compartido de red
New-PSDrive -Name "P" -PSProvider "FileSystem" -Root "\\Server01\Public"
Name Provider Root
---- -------- ----
P FileSystem \\Server01\Public
Este comando crea una unidad temporal de PowerShell denominada P: que se asigna al recurso compartido de red \\Server01\Public.
Usa el parámetro Name para especificar un nombre para la unidad, el parámetro PSProvider para especificar el proveedor FileSystem de PowerShell y el parámetro Root para especificar el recurso compartido de red.
Cuando finalice el comando, el contenido del recurso compartido \\Server01\Public aparece en la unidad P: .
Para verlos, escriba: dir P:.
Ejemplo 2: Crear una unidad temporal
New-PSDrive -Name MyDocs -PSProvider FileSystem -Root "C:\Documents and Settings\User01\My Documents" -Description "Maps to my My Documents folder."
Name Provider Root
---- -------- ----
MyDocs FileSystem C:\Documents and Settings\User01\My Documents
Este comando crea una unidad temporal de PowerShell que proporciona acceso rápido a un directorio local. Crea una unidad denominada MyDocs: que se asigna al directorio "C:\Documents and Settings\User01\My Documents" en el equipo local.
Usa Nombre para especificar un nombre para la unidad, PSProvider especificar el proveedor FileSystem de PowerShell, Root para especificar la ruta de acceso de la carpeta Mis documentos y el parámetro Description Description para crear una descripción de la unidad.
Cuando finalice el comando, el contenido de la carpeta Mis documentos aparecerá en la unidad MyDocs:.
Para verlos, escriba: dir MyDocs:.
Ejemplo 3: Creación de una unidad para una clave del Registro
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
Name Provider Root
---- -------- ----
MyCompany Registry HKEY_LOCAL_MACHINE\Software\MyCo...
Este comando crea una unidad temporal de PowerShell que proporciona acceso rápido a una clave del Registro que se comprueba con frecuencia.
Crea una unidad denominada MyCompany que se asigna a la clave del Registro HKLM\Software\MyCompany.
Usa Nombre para especificar un nombre para la unidad, PSProvider para especificar el proveedor del Registro de PowerShell y raíz para especificar la clave del Registro.
Cuando finalice el comando, el contenido de la clave MyCompany aparecerá en la unidad MyCompany:.
Para verlos, escriba: dir MyCompany:.
Ejemplo 4: Creación de una unidad de red asignada persistente
New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem"
Net Use
Status Local Remote Network
---------------------------------------------------------
OK S: \\Server01\Scripts Microsoft Windows Network
Este comando crea la unidad de red asignada "S" en el equipo local. La unidad "S" se asigna al recurso compartido de red \\Server01\Scripts.
El comando usa New-PSDrive para crear la unidad de red asignada.
Usa persist para crear una unidad de red asignada de Windows que se guarda en el equipo local.
El comando usa Nombre para especificar un nombre de letra que Windows acepta y Root para especificar una ubicación en un equipo remoto. Usa PSProvider para especificar el proveedor FileSystem.
La unidad resultante se puede ver en otras sesiones de PowerShell en el equipo local, en el Explorador de Windows y en otras herramientas, como Net Use.
Ejemplo 5: Crear unidades temporales y persistentes
# Create a temporary PowerShell drive called PSDrive: that is mapped to the \\Server01\Public network share.
New-PSDrive -Name "PSDrive" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Use the *Persist* parameter of **New-PSDrive** to create the X: mapped network drive, which is also mapped to the \\Server01\Public network share.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Now, you can use the **Get-PSDrive** drive cmdlet to examine the two drives. The drives appear to be the same, although the network share name appears only in the root of the PSDrive: drive.
Get-PSDrive -Name "PSDrive", "X"
Name Provider Root
---- -------- ----
PsDrive FileSystem \\Server01\public
X FileSystem X:\
# Get-Member cmdlet shows that the drives have the same object type, System.Management.Automation.PSDriveInfo.
Get-PSDrive "PSDrive", "x" | Get-Member
TypeName: System.Management.Automation.PSDriveInfo
Name MemberType Definition
---- ---------- ----------
CompareTo Method System.Int32 CompareTo(PSDriveInfo drive),
Equals Method System.Boolean Equals(Object obj),
GetHashCode Method System.Int32 GetHashCode()
...
# Net Use and Get-WmiObject for the Win32_LogicalDisk class, and Win32_NetworkConnection class find only the persistent X: drive.
# PowerShell temporary drives are known only to PowerShell.
Net Use
Get-WmiObject Win32_LogicalDisk | Format-Table -Property DeviceID
Get-WmiObject Win32_NetworkConnection
Status Local Remote Network
--------------------------------------------------------
OK X: \\contoso-pc\data Microsoft Windows Network
deviceid
--------
C:
D:
X:
LocalName RemoteName ConnectionState Status
--------- ---------- --------------- ------
X: \\products\public Disconnected Unavailable
En este ejemplo se muestra la diferencia entre una unidad de red asignada persistente y una unidad temporal de PowerShell asignada al mismo recurso compartido de red.
Si cierra la sesión de PowerShell y, a continuación, abre una nueva, la unidad PSDrive: se ha ido y la unidad de X: persiste. Por lo tanto, al decidir qué método usar para asignar unidades de red, tenga en cuenta cómo usará la unidad, si tiene que ser persistente y si la unidad tiene que ser visible para otras características de Windows.
Parámetros
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
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 |
-Credential
Especifica una cuenta de usuario que tiene permiso para realizar esta acción. El valor predeterminado es el usuario actual.
Escriba un nombre de usuario, como "User01" o "Domain01\User01", o escriba un objeto de PSCredential, como uno generado por el cmdlet Get-Credential.
Si escribe un nombre de usuario, este cmdlet le pedirá una contraseña.
A partir de Windows PowerShell 3.0, cuando el valor del parámetro Root es una ruta de acceso UNC, puede usar credenciales para crear unidades del sistema de archivos. Todos los proveedores de PowerShell no admiten este parámetro.
Propiedades de parámetro
| Tipo: | PSCredential |
| Valor predeterminado: | Current user |
| 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 |
-Description
Especifica una breve descripción de texto de la unidad. Escriba cualquier cadena.
Para ver las descripciones de todas las unidades de la sesión, escriba Get-PSDrive | Format-Table Name, Description.
Para ver la descripción de una unidad determinada, escriba (Get-PSDrive \<DriveName\>).Description.
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 |
-Name
Especifica un nombre para la nueva unidad. En unidades de red asignadas persistentes, escriba una letra de unidad. Para las unidades temporales de PowerShell, escriba cualquier cadena válida; no se limita a las letras de unidad.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| 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 |
-Persist
Indica que este cmdlet crea una unidad de red asignada de Windows. Las unidades de red asignadas se guardan en Windows en el equipo local. Son persistentes, no específicas de la sesión, y se pueden ver y administrar en el Explorador de archivos y en otras herramientas.
Al definir el ámbito del comando localmente, es decir, sin dot-sourcing, el parámetro Persist no conserva la creación de un PSDrive más allá del ámbito en el que se ejecuta el comando.
Si ejecuta New-PSDrive dentro de un script y desea que la nueva unidad persista indefinidamente, debe generar puntos en el script.
Para obtener los mejores resultados, para forzar la conservación de una nueva unidad, especifique Global como valor del parámetro Scope
El nombre de la unidad debe ser una letra, como "D" o "E". El valor de parámetro Root debe ser una ruta UNC de otro equipo. El valor del parámetro PSProvider debe ser FileSystem.
Para desconectar una unidad de red asignada de Windows, use el cmdlet Remove-PSDrive.
Cuando desconecta una unidad de red asignada de Windows, la asignación se elimina permanentemente del equipo, no solo se elimina de la sesión actual.
Las unidades de red asignadas son específicas de una cuenta de usuario. Las unidades asignadas creadas en sesiones con privilegios elevados o sesiones con la credencial de otro usuario no son visibles en las sesiones iniciadas con credenciales diferentes.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| 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 |
-PSProvider
Especifica el proveedor de PowerShell que admite unidades de este tipo.
Por ejemplo, si la unidad está asociada a un directorio de sistema de archivos o recurso compartido de red, el proveedor de PowerShell es FileSystem. Si la unidad está asociada a una clave del Registro, el proveedor es Registry.
Las unidades temporales de PowerShell se pueden asociar a cualquier proveedor de PowerShell. Las unidades de red asignadas solo se pueden asociar con el proveedor FileSystem.
Para ver una lista de los proveedores en la sesión de PowerShell, use el cmdlet Get-PSProvider.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 1 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Root
Especifica la ubicación del almacén de datos a la que se asigna una unidad de PowerShell.
Por ejemplo, especifique un recurso compartido de red, como \\Server01\Public, un directorio local, como C:\Archivos de programa o una clave del Registro, como HKLM:\Software\Microsoft.
Las unidades temporales de PowerShell se pueden asociar a una ubicación local o remota en cualquier unidad de proveedor compatible. Las unidades de red asignadas solo se pueden asociar con una ubicación del sistema de archivos en un equipo remoto.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 2 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Scope
Especifica un ámbito para la unidad. Los valores aceptables para este parámetro son: Global, Local y Script, o un número relativo al ámbito actual. El número de ámbitos es 0 al número de ámbitos. El número de ámbito actual es 0 y su elemento primario es 1. Para obtener más información, consulte about_Scopes.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | Local |
| 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, vea 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 |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Wi |
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 puede canalizar la entrada a este cmdlet.
Salidas
PSDriveInfo
Notas
-
New-PSDriveestá diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, useGet-PSProvider. Para obtener más información sobre los proveedores, consulte about_Providers. - Las unidades de red asignadas son específicas de una cuenta de usuario. Las unidades asignadas creadas en sesiones con privilegios elevados o sesiones con la credencial de otro usuario no son visibles en las sesiones iniciadas con credenciales diferentes.