Script Batch – Conectar a unidad de red automáticamente con un archivo bat (Map Network Drive)

By | febrero 22, 2014

Cuando tenemos que conectar varias unidades de red en varios equipos o incluso si fuera solo un equipo podemos simplificar el proceso teniendo un script para conectar a unidad de red automáticamente y lo mas importante podremos optimizar tiempo si son varias unidades a conectar.

Por ejemplo para conectar (mapear) 10 unidades de red que se encuentren en diferentes servidores de archivos nos puede tomar un aproximado de 5~8 minutos; tomando como base un solo equipo.

Para optimizar el tiempo y realizarlo semi automáticamente debemos crear un archivo batch que tendremos que ejecutar en cada equipo donde queramos realizar el mapeo de las unidades.

Sintaxis del Comando NET USE

[devicename | *] [\computernamesharename[volume] [password | *]]
[/USER:[domainname]username]
[/USER:[dotted domain name]username]
[/USER:[[email protected] domain name]
[/SMARTCARD]
[/SAVECRED]
[[/DELETE] | [/PERSISTENT:{YES | NO}]]

NET USE {devicename | *} [password | *] /HOME

NET USE [/PERSISTENT:{YES | NO}]

Podemos encontrar mas información si abrimos el Command prompt (CMD) y escribimos:

net help use

  Conectar a unidad de red automáticamente - net help use

 Donde podremos encontrar la serie de instrucciones que podemos utilizar.

Conectar a unidad de red automáticamente - help

Como utilizar el comando NET USE

En este ejemplo se va a realizar el mapeo de 9 Unidades de Red el cual se localizan en distintos servidores donde los nombres de estos son: vsop01, vsdoc07, vssql y por ultimo un servidor NAS que tiene la IP 10.0.0.64 el cual tiene una clave de administrador asignada.

Conectar a unidad de red automáticamente

REM – REM es para comentar las instrucciones
/PERSISTENT:YES se utiliza para mantener la conexión cada inicio de sesión, si este no se utiliza el próximo inicio de sesión de Windows ya no se conectaran las unidades.

Siguiendo la sintaxis (Sin los corchetes [ ], por ejemplo en [Letra por asignar] debe ser si queremos asignar la letra Z a la unidad escribiremos Z: )

net use [Letra por asignar]: "[Ruta del folder]" /PERSISTENT:YES
net use I: "\vsop01Impresiones" /PERSISTENT:YES
net use J: "\vsdoc07Documentos Operaciones" /PERSISTENT:YES
net use S: "\vsdoc07Scanner Administracion" /PERSISTENT:YES
net use F: "\vsdoc07FacturasRemoto" /PERSISTENT:YES
net use U: "\vsdoc07Seguimiento VU" /PERSISTENT:YES
net use O: "\vsdoc07Clientes Documentos" /PERSISTENT:YES
net use V: "\vssqlSys" /PERSISTENT:YES
REM En este caso lleva usuario y contraseña para el acceso.
REM net use [Letra por asignar]: "[Ruta del folder]" [clavedeusuario]/USER: [elusuario] /PERSISTENT:YES 
net use X: "\10.0.0.64GoFlex Home Public" miclave/USER:miusuarioadministrador /PERSISTENT:YES
net use Z: "\vsdoc07Sistema de Calidad" /PERSISTENT:YES

Eliminar / Desconectar unidades de red

Se puede presentar el caso que tengamos que conectar una unidad de red y asignar una letra que anteriormente ya se tenia asignada, en el mismo archivo podemos anteponer las lineas para desconectar las unidades.

Para desconectar la unidad solo debemos conocer la Letra asignada y escribir el siguiente comando.

net use /d I: 

Ambas funcionan igual

net use I: /delete

Ejemplo:

Si tenemos asignada la letra I: a un folder y queremos cambiarlo lo hacemos de la siguiente forma

net use /d I:
net use I: "\vsop01Impresiones" /PERSISTENT:YES

Guardarlo en archivo bat

Simplemente vamos a crear nuestro archivo en un editor de texto como Notepad (yo utilizo Notepad++) y guardarlo con la extensión .bat

Conectar a unidad de red automáticamente - Batch Net Use

Pueden descargar el ejemplo del archivo .bat que realizamos.

Content Protection by DMCA.com

10 thoughts on “Script Batch – Conectar a unidad de red automáticamente con un archivo bat (Map Network Drive)

  1. Portal+Tips Post author

    Buen dia
    Directamente desde la linea de comando CMD con WMIC no he tenido exito para realizar las conversiones, al ser mas sencillo obtenerlo con un script visual basic comentado en el Articulo, paro también me interesa si se puede obtener asi directamente el valor en MB o GB, últimamente no he tenido tiempo libre para ponerme a leer que podria aplicar para realizar la conversión, pero si llego a encontrar la forma te lo hago saber.
    Estamos en contacto Amigo.!

    Reply
  2. Mauricio Villada Post author

    Hola Buenos Días,
    Amigo te cuento que he logrado adelantar bastante lo que necesitaba, les comparto el script que tengo.
    @echo off
    WMIC /Output:lista2.CSV /NODE:@PCs.txt /user:usuario /password:contraseña LOGICALDISK where drivetype=3 get DeviceID, FreeSpace /format:CSV.xsl
    pause
    Para que este funcione se debe tener otro txt con las IPs a las que queramos conectarnos, en el codigo el archivo es llamado donde dice /NODE:@PCs.txt
    Queria preguntarte, depronto sabes como puedo traer el freespace pero en Mb, Gb o Tb, dependiendo el tamaño en el que se encuentre, en el momento lo que el trae son los tamaños en bytes o si no de que forma puedo convertirlo.

    Reply
  3. Portal+Tips Post author

    Buen dia
    Disculpa la tardanza, no hemos tenido mucha oportunidad de responder y analizar todos los comentarios, permitenos revisar y probar tu codigo que adjuntas para ver que es lo que se esta realizando en este.

    Reply
  4. Mauricio Villada Post author

    Buen día,
    Gracias por el articulo me parece que esta muy completo. Te comento el codigo que estaba utilizando para realizar la toma de información de los discos de los servidores es el siguiente:
    @echo off
    WMIC /Output:lista.xls LOGICALDISK where drivetype=3 get DeviceID, VolumeName, Size, FreeSpace, FileSystem, Description
    type “lista.xls” >> “IPC$UsersUsuarioDesktopPrueba.xls”
    pause
    Como no he podido realizar el otro script para realizar la ejecución remota desde mi equipo opte por crear una tarea automatica de Windows que me ejecute este script a una hora indicada y me alimente un archivo de excel que tengo en mi equipo, esto lo estoy realizando sin ningun problema pero entonces aca me surge otra cosa, la información que me genera el txt en el servidor trae todo el texto por linea, me explico:
    DeviceID FreeSpace ——-> Linea 1
    C: 163886571520 ——-> Linea 2
    D: 271946092544 ——-> Linea 3
    E: 1047630970880 ——-> Linea 4
    Aunque se observa como si estuviera en columnas cuando lo paso a excel lo copia en las celdas mas no lo separa por columnas, como podria realizar esto, es decir necesito que a partir de la columna 2 quede el espacio libre del disco C, en la columna 3 quede el espacio libre del disco D, en la columna 4 quede el espacio libre del disco E y asi sucesivamente.

    Reply
  5. LUIS ALBERTO SANCHEZ Post author

    Gracias por tu respuesta voy a intentar y te cuento

    Reply
  6. Portal+Tips Post author

    Buen dia Luis
    En el comando tenemos /PERSISTENT:YES el cual indica que debe continuar el mapeo aun cuando se reinicie el equipo, cierre sesión, etc.
    Si no te funciona te recomiendo que al ser pocos equipos lo hagas manualmente. sobre la carpeta compartida del servidor das Clic derecho > Conectar a unidad de Red > En la ventana seleccionas la letra que desees asignar y te aseguras de tener palomeada la opción Conectar de nuevo al iniciar sesión, con esto debe continuar la unidad conectada al iniciar nuevamente la sesión.
    Nos comentas los resultados y si cuentas con mas consultas no dudes en escribirnos.
    Saludos.

    Reply
  7. LUIS ALBERTO SANCHEZ Post author

    Buena noches amigo quisiera pedirte una ayuda con este problema que tengo en la oficina haber esta es la situación tengo 4 equipos uno es el servidor y los otros 3 son los clientes , el servidor ejecutan un programa el cual los demás equipos se conectan por medio de una unidad de red funciona bien el proceso hasta que los equipos clientes se reinician y se desconecta la unidad de red, el servidor tiene instalado win 10, ojala me heches una mano en este caso gracias

    Reply
  8. Fernando O. Post author

    Buen dia Victor
    Lo que comentas es lo que hace el script mostrado, puedes darle un vistazo en la parte que dice Conectar a unidad de red automáticamente y me confirmas que es lo que requieres saber.
    Saludos.

    Reply
  9. Victor Post author

    hay alguna forma de conectar las unidades mediante un archivo de texto, es decir si exporto mis unidadas con net use como podria volver a conectar de la misma manera esas unidades sin necesidad de escribir nuevamente las direcciones

    Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *