Buscar

PowerShell: Conectar unidad de red

En este post veremos cómo conectar a una unidad de red utilizando PowerShell indicando una letra de unidad y una ruta UNC (universal naming convention).

Muchos administradores utilizan el comando Net Use de cmd para realizar las conexiones de unidades de red, de hecho, aquí tenemos un ejemplo de uso del comando Net Use: 

Script para realizar mapa de red según grupo de seguridad (SYSADMIT.com)

El equivalente del comando Net Use en PowerShell es:

New-PSDrive

El cmd-let New-PSDrive dispone del parámetro Persist en versiones de PowerShell 3.0 o superior.

La versión 3.0 de PowerShell se introduce en Windows Server 2012 y Windows 8.

o bien:

New-SmbMapping que empieza a funcionar bien en la versión de PowerShell 5.0 o superior. 

Veamos cómo funciona cada uno de estos cmd-lets para conectar unidades de red desde PowerShell:

PowerShell: Conectar unidad de red: New-PSDrive

Utilizando el cmd-let: New-PSDrive, podemos realizar la conexión de la unidad de red de la siguiente forma:

New-PSDrive -Name Letra-de-la-unidad -Root Ruta-UNC -PSProvider FileSystem -Scope [Global|Local] -Persist:[$true|$false]

Veamos un ejemplo:

New-PSDrive -Name "L" -Root "\\FS1\SYSADMIT" -PSProvider "FileSystem" -Persist

Conectamos a la unidad de red: L: la ruta UNC: \\FS1\SYSADMIT de forma persistente.

Para eliminar la unidad, podremos utilizar el cmd-let: remove-psdrive

Por ejemplo, para eliminar la unidad L:, bastará con ejecutar:

Remove-Psdrive L:

PowerShell: Conectar unidad de red: New-SmbMapping

El funcionamiento del cmd-let: New-SmbMapping para conectar unidad de red es muy sencillo, es un cmd-let pensado específicamente para conectar unidades de red indicando una letra de unidad y ruta UNC.

PowerShell: Conectar unidad de red

La sintaxis es la siguiente:

New-SmbMapping -LocalPath Letra-de-la-unidad -RemotePath Ruta-UNC -Persistent:[$true|$false]

Ejemplo:

New-SmbMapping -LocalPath 'L:' -RemotePath '\\FS1\SYSADMIT'

Conectamos a la unidad de red: L: la ruta UNC: \\FS1\SYSADMIT de forma persistente.

Para eliminar la unidad, podremos utilizar el cmd-let: Remove-SmbMapping

Por ejemplo, para eliminar la unidad L:, bastará con ejecutar:

Remove-SmbMapping -LocalPath "L:"

Si queremos que no pida confirmación, podemos ejecutar:

Remove-SmbMapping -LocalPath "Y:" -Force

También podemos ver las letras de unidad conectadas ejecutando: Get-SmbMapping


2 comentarios:

  1. Si se necesita poner una contraseña para acceder a la unidad, ¿hay algún método?,gracias

    ResponderEliminar
    Respuestas
    1. Hola,

      Sí, no hay problema, puedes usar los parámetros: UserName y Password del cmd-let: New-SmbMapping

      Siguiendo el ejemplo del post:

      New-SmbMapping -LocalPath 'L:' -RemotePath '\\FS1\SYSADMIT' -UserName Usuario -Password 'Contraseña'

      Saludos,

      Xavi.

      Eliminar