Búsqueda de sitios web

PowerShell: asignar unidad de red


Más a menudo, el administrador de PowerShell necesita asignar una unidad de red en una computadora local o remota para que se pueda acceder rápidamente al archivo compartido tal como lo haría con su unidad local. Cuando asigna una unidad de red usando PowerShell, se creará un acceso directo a una unidad o carpeta compartida en la red y asignará una unidad de red a la letra de la unidad en Esta PC en el Explorador de Windows.

Con el cmdlet PS-Drive de PowerShell, puede crear rápidamente unidades de red temporales o persistentes y asignar unidades de red a letras de unidad, directorios en la computadora local o claves de registro.

Comando de unidad de red de mapa de PowerShell - New-PSDrive

Cmdlet: Nuevo-PSDrive

Descripción: crea unidades de red temporales o persistentes para una carpeta o ubicación compartida en la computadora local.

Sintaxis:

New-PSDrive
   [-Name] <String>
   [-PSProvider] <String>
   [-Root] <String>
   [-Description <String>]
   [-Scope <String>]
   [-Persist]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Hay diferentes formas de asignar una unidad de red en PowerShell. Comprendamos el mapeo de una unidad de red con ejemplos.

Letra de unidad temporal de unidad de red de mapa de PowerShell

New-PSDrive en la unidad de red del mapa de PowerShell temporal. Las unidades temporales existen solo en la sesión actual de PowerShell y se asignan a cualquier computadora local o recurso de computadora remota.

Al utilizar la unidad temporal en la sesión de PowerShell, puede acceder a los datos en el almacén de datos asociado.

Para crear y asignar una unidad de red temporal en PowerShell, ejecute el siguiente comando

New-PSDrive -Name "K" -PSProvider "FileSystem" -Root "\\PS-101\FTP"

Name       Provider      Root
----       --------      ----
K          FileSystem    \\PS-101\FTP

En el ejemplo anterior, el comando New-PSDrive utiliza el parámetro Name para especificar la letra de la unidad en la computadora local. El parámetro PSProvider especifica el proveedor FileSystem de PowerShell y el parámetro Root especifica el nombre de la ruta compartida de red.

Al ejecutar el comando anterior en PowerShell, asigne la unidad de red temporal a la letra de unidad K.

Después de cerrar la sesión de PowerShell, se desconectará la unidad creada temporalmente, no podrá acceder a la unidad mediante el Explorador de archivos o la herramienta net use ya que la unidad de red asignada no es persistente.

Para acceder al contenido de la letra de unidad K recién asignada en la sesión de PowerShell, use el cmdlet Get-ChildItem con la letra de controlador K

Get-ChildItem -Path K:

    Directory: \\PS-101\FTP


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       12-03-2021     10:20        3065560 anyconnect-win-3.1.05170-web-deploy-k9.exe
-a----       12-03-2021     10:16       49207400 CitrixReceiver.exe
-a----       12-03-2021     10:03      145547872 CitrixWorkspaceApp.exe


PS C:\>   

Consejo interesante: ¡Utilice Test Connection para hacer ping a la lista de computadoras en PowerShell!

Cómo asignar una unidad de red a una carpeta local

En el ejemplo anterior, hemos asignado una unidad de red para un almacén de datos compartido remoto. Con el comando New-PSDrive, puede crear una unidad PowerShell temporal que se asigne a la carpeta local en la computadora local.

Consideremos un ejemplo para crear una unidad de red de mapa temporal para C:\Users\ShellAdmin\Documents y la asignamos como Documento para acceder rápidamente a los documentos.

New-PSDrive -Name "Document" -PSProvider "FileSystem" -Root "C:\Users\ShellAdmin\Documents"

Name           Used (GB)     Free (GB) Provider      Root                                 CurrentLocation
----           ---------     --------- --------      ----                                 ---------------
Document            0.00         11.11 FileSystem    C:\Users\ShellAdmin\Docum...

En el comando anterior, New-PSDrive usa el parámetro Name para especificar la unidad de documentos.

PSProvider especifica PowerShell FileSystem.

Root Especifique la ruta del directorio de la computadora local

Otro método para crear una unidad temporal en la carpeta local de la computadora local es

$parameters = @{
    Name = "Document"
    PSProvider = "FileSystem"
    Root = "C:\Users\ShellAdmin\Documents"
    Description = "Maps to ShellAdmin mydocument folder."
}
New-PSDrive @parameters

Name        Provider      Root
----        --------      ----
Document      FileSystem    C:\Users\ShellAdmin\Documents

Después de cerrar la sesión de PowerShell, se desconectará la unidad del directorio local creado temporalmente, no podrá acceder a la unidad mediante el Explorador de archivos o la herramienta net use ya que la unidad de red asignada no es persistente.

Consejo interesante: ¡Utilice el script de PowerShell para obtener espacio libre en el disco de PowerShell!

Crear unidad temporal para la clave de registro

El comando New-PSDrive en PowerShell se puede utilizar para crear una unidad temporal para la clave de registro. Con el comando Get-ChildItem, puede acceder al contenido de las claves del Registro.

En el ejemplo, he asignado la clave de registro HKLM:\Software\ShellGeek a ShellGeek

New-PSDrive -Name "ShellGeek" -PSProvider "Registry" -Root "HKLM:\Software\ShellGeek"

En el comando anterior, New-PSDrive usa el parámetro Name para especificar la unidad ShellGeek.

PSProvider especifique PowerShell Registro.

Root Especifique la ruta de la ubicación del registro.

Puede utilizar el cmdlet Get-ChildItem para acceder al contenido de las claves de registro.

Después de cerrar la sesión de PowerShell, se desconectará la unidad creada temporalmente para acceder a las claves de registro; no podrá acceder a la unidad mediante el Explorador de archivos o la herramienta net use ya que la unidad de red asignada no es persistente.

Consejo interesante: ¿Sabes cómo solucionar la ejecución del script de PowerShell deshabilitado en el sistema?

Unidad de red de mapas de PowerShell persistente

Con el parámetro New-PSDrive Persist de PowerShell, puede conservar las unidades de red asignadas. Estas unidades asignadas se guardan en Windows y no son específicas de la sesión. Por lo tanto, puede utilizar la herramienta Explorador de archivos o net use para mapear la unidad de red.

Tomemos un ejemplo para asignar una unidad de red persistente en la letra de unidad k, usando el siguiente script de PowerShell

New-PSDrive -Name "K" -PSProvider "FileSystem" -Root "\\PS-101\FTP" -Persist

Name           Used (GB)     Free (GB) Provider      Root                          CurrentLocation
----           ---------     --------- --------      ----                          ---------------
K                 252.37         30.57 FileSystem    \\PS-101\FTP


PS C:\>     

En el comando anterior, New-PSDrive usa el parámetro Name para especificar la unidad con la letra de unidad K.

PSProvider especifica PowerShell FileSystem.

Root Especifique la ruta del almacén de datos de la computadora remota

Crea una unidad de red persistente en su sistema local. Puede acceder al contenido de la unidad de red asignada utilizando herramientas de Windows como Explorador de archivos o net use.

Consejo interesante: ¡Usar QUser para obtener una lista de usuarios conectados al servidor en PowerShell!

Script de PowerShell para asignar una unidad de red con credenciales

Para asignar una unidad de red que se autenticó con una cuenta de servicio de dominio, utilice el parámetro Credencial New-PSDrive.

Uso del parámetro de credencial para obtener las credenciales de la cuenta de servicio del dominio para la autenticación.

Consideremos el siguiente ejemplo para asignar una unidad de red que requiere autenticación.

New-PSDrive -Name "K" -PSProvider "FileSystem" -Root "\\PS-101\FTP" -Persist -Credential ShellGeek\Admin

Name           Used (GB)     Free (GB) Provider      Root                          CurrentLocation
----           ---------     --------- --------      ----                          ---------------
K                 252.37         30.57 FileSystem    \\PS-101\FTP


PS C:\>

En el comando anterior, New-PSDrive usa el parámetro Name para especificar la unidad con la letra de unidad K.

PSProvider especifica PowerShell FileSystem.

Root Especifique la ruta del almacén de datos de la computadora remota

El parámetro persiste especifica para conservar la unidad de red asignada

El parámetro de credencial especifica la credencial de la cuenta de servicio del dominio y, al ejecutar el comando, muestra un cuadro de diálogo para ingresar el nombre de usuario y la contraseña.

Tras una autenticación exitosa, asignará una unidad de red que es persistente.

Puede acceder al contenido de la unidad de red asignada utilizando herramientas de Windows como Explorador de archivos o net use.

Consejo interesante: ¡Cómo eliminar una unidad de red asignada usando PowerShell!

Conclusión

Espero que el artículo anterior sobre cómo asignar una unidad de red en PowerShell de diferentes maneras le resulte útil.

Puede crear y asignar una unidad temporal o persistente basándose en el uso del parámetro New-PSDrive. Usando el parámetro Credencial, puede asignar la unidad de red que necesita autenticación para acceder a los contenidos.

Utilice el Explorador de archivos o la herramienta net use para acceder al contenido de la unidad de red del mapa.

Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.

Artículos relacionados