Asignación de unidad de red 2
Para asignar una unidad de red desde la línea de comandos, normalmente se usa net use.
Sin embargo, por sí solo, la información de asignación se pierde cada vez que se reinicia la PC.
Si agrega la opción /persistent:yes, la asignación de la unidad se conserva después de reiniciar, pero las credenciales no se guardan y, al volver a conectarse, puede producirse un error.
En el Explorador de archivos, puede asignar la unidad y guardar las credenciales al mismo tiempo con los siguientes pasos.
- Abra el Explorador y elija asignar una unidad de red.
- Especifique la ruta de red y asigne la unidad.
- Ingrese las credenciales y haga clic en Guardar credenciales.
En esta página, le mostramos de forma fácil de entender cómo realizar en un archivo por lotes el equivalente de los pasos anteriores.
Código fuente
Primero, la conclusión. Puede lograrlo con el siguiente código.
cmdkey /add:%server% /user:%user% /pass:%password%
net use O: %directory% /persistent:yes
| Variable | Descripción |
|---|---|
| %server% | Nombre del servidor o dirección IP al que se conectará (la parte 〇〇 de \〇〇…) |
| %user% | Credenciales (nombre de usuario) |
| %password% | Credenciales (contraseña) |
| %directory% | Ruta de red que se asignará (por ejemplo: \server\share) |
Al aplicar lo anterior y ejecutarlo, tanto la asignación de la unidad de red como las credenciales se mantienen después de reiniciar.
Si escribe la contraseña en texto plano en el archivo por lotes, quedará expuesta a cualquiera que pueda ver el archivo. No lo coloque en una carpeta compartida ni en un lugar que cualquiera pueda ver, y gestione cuidadosamente los permisos de acceso.
Cómo usar cmdkey y net use
En el ejemplo anterior, se usaron los comandos cmdkey y net use para asignar una unidad de red que no desaparece después de reiniciar.
A continuación, se explica la función de cada comando.
cmdkey
El comando cmdkey sirve para agregar, mostrar y eliminar las credenciales guardadas en el Administrador de credenciales de Windows.
Cuando se accede por primera vez a un servidor desde el Explorador de archivos, es posible que se le pida ingresar las credenciales.
El comando cmdkey cumple la misma función que esa entrada.
Opciones de cmdkey
cmdkey /add:%server% /user:%user% /pass:%password%
| Opción | Descripción |
|---|---|
| /add | Dirección IP o nombre del equipo |
| /user | Nombre de la cuenta de destino |
| /pass | Contraseña de la cuenta de destino |
Puede ver las credenciales guardadas con cmdkey /list y eliminarlas con cmdkey /delete:nombre_del_servidor.
Comando net use
El comando net use sirve para asignar, desconectar y mostrar una lista de unidades de red.
Opciones de net use
net use %drive_letter% %directory% %password% /user:%user% /savecred /persistent:yes
| Variable | Descripción |
|---|---|
| Primer argumento | Letra de la unidad a asignar (la parte correspondiente a C: de la unidad del sistema) |
| Segundo argumento | Ruta que desea asignar como unidad de red (con el formato \\server\share) |
| Tercer argumento | Contraseña del destino de conexión |
| /user | Nombre de la cuenta del destino de conexión |
| /savecred | Guarda las credenciales. No es necesario si se usa cmdkey. |
| /persistent:yes | Restaura automáticamente la asignación en los inicios de sesión posteriores (si se especifica no, no se restaura). |
Ejemplos concretos de asignación de una unidad de red
A continuación, se muestra cómo asignar unidades de red a partir de casos que pueden presentarse en la práctica.
Permitir al usuario ingresar el nombre de usuario y la contraseña
Escribir directamente el nombre de usuario y la contraseña en el archivo por lotes no es recomendable por razones de seguridad.
Si desea que el usuario ingrese el nombre de usuario y la contraseña al ejecutar el archivo por lotes, impleméntelo de la siguiente manera.
@echo off
setlocal
rem Pedir al usuario el nombre de usuario y la contraseña
set /p user=Por favor, introduzca su nombre de usuario:
set /p password=Por favor, introduzca su contraseña:
rem Agregar las credenciales con el nombre de usuario y la contraseña
cmdkey /add:server_name /user:%user% /pass:%password%
net use O: \\server_name\directory /persistent:yes
endlocal
Tenga en cuenta que la contraseña ingresada con set /p se muestra en pantalla tal cual. Si le preocupa que otras personas la vean, también puede especificar * como contraseña de net use e ingresarla en el aviso.
El comando set, que recibe la entrada del usuario, se explica en detalle en la siguiente página.
Asignar unidades de red a múltiples direcciones IP
Si tiene varios servidores o NAS en casa o en la oficina, es posible que desee asignar varias unidades de red al mismo tiempo.
En ese caso, puede lograrlo de forma sencilla preparando dos archivos por lotes: uno con el código presentado aquí y otro con el código que realmente se ejecutará.
Aquí, implementaremos el primer archivo por lotes como network.cmd y el segundo como start.cmd.
@echo off
setlocal
cmdkey /add:%1 /user:%2 /pass:%3
echo Se han agregado las credenciales para %1
net use %4: %5 /persistent:yes
echo Se ha asignado %5 a la unidad %4
endlocal
@echo off
setlocal
call network.cmd server_name1 username1 password1 O: \\server_name1\directory1
call network.cmd server_name2 username2 password2 P: \\server_name2\directory2
call network.cmd server_name3 username3 password3 Q: \\server_name3\directory3
call network.cmd server_name4 username4 password4 R: \\server_name4\directory4
endlocal
Si desea obtener más información sobre el comando call, consulte el siguiente artículo.
Al ejecutar el código anterior, puede asignar 4 unidades de red en bloque.
Cuando se ejecuta, se muestra lo siguiente.
Si no funciona
Aparece el error de sistema 1219
Si ya está conectado al mismo servidor con otro nombre de usuario, net use falla con el “Error de sistema 1219”.
Desconecte las conexiones existentes con el siguiente comando y vuelva a ejecutarlo.

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
Quiero cambiar las credenciales
Si vuelve a ejecutar cmdkey /add con el mismo nombre de servidor, se sobrescriben las credenciales guardadas.