Asignación de unidad de red 2

La asignación de una unidad de red desde la línea de comandos se realiza normalmente con el comando net use. Sin embargo, esto no es suficiente, ya que la información de asignación desaparece cada vez que se reinicia la PC. Esto se puede solucionar utilizando el comando persistent, pero esto no mantiene la información de credenciales.

  • Abra el Explorador y asigne 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 mostraremos cómo hacer lo mismo con un archivo por lotes de manera fácil de entender.

Código fuente

Primero, la conclusión. Puede lograr esto con el siguiente código.

cmdkey /add:%server1% /user:%username% /pass:%password%
net use O: %directory%
VariableDescripción
%server1%Nombre del servidor al que se conectará (parte de \〇〇… de la que se encuentra el 〇〇)
%username%Credenciales (nombre de usuario)
%password%Credenciales (contraseña)
%directory%Ruta de red que se asignará

Al aplicar lo anterior y ejecutarlo, se mantendrán tanto la unidad de red como las credenciales.

Cómo usar cmdkey y net use

En el ejemplo anterior, se utilizó el comando cmdkey y net use para asignar una unidad de red que no desaparecerá después de reiniciar.

A continuación, se explica la función de cada comando.

cmdkey

El comando cmdkey es una función que se utiliza para manipular las credenciales de Windows.

Cuando se accede por primera vez a un servidor desde el Explorador de archivos, es posible que se le solicite que ingrese sus credenciales.

El comando cmdkey tiene la misma función que esta entrada.

Opciones de cmdkey

cmdkey /add:%server% /user:%username% /pass:%password%
addIP アドレス、またはコンピュータ名
user接続先のアカウント名
pass接続先のパスワード

net useコマンド

net useコマンドは、ネットワークドライブの操作を行うための関数です。

今回使用する割り当ての他、切断や、割り当て済みのドライブの一覧表示などが可能です。

net use のオプション

net use %drive_letter% %directory% %password% /user:%username% /savecred
最初の引数割り当てるドライブレター(システムドライブの C: にあたる部分)
2 つ目の引数ネットワークドライブとして割り当てたいディレクトリパス
3 つ目の引数接続先のパスワード
/user接続先のアカウント名
/savecred資格情報が必要な場合、入力されたアカウント名とパスワードを保存する。
/persistentこの net use コマンドで設定したドライブ情報を、次回ログオン以降も自動的に復元する。

ネットワークドライブを割り当てる具体例

ここからは、実際に想定されるケースを例に、ネットワークドライブを割り当てる方法をご紹介します。

ユーザー名とパスワードをユーザーに入力させる

バッチファイルに直接ユーザー名とパスワードを記述するのは、セキュリティ上好ましくありません。

バッチファイル実行時に、ユーザー名とパスワードを入力させたい場合は、以下のように実装します。

@echo off
setlocal

set /p username=ユーザー名を入力してください:
set /p password=パスワードを入力してください:

cmdkey /add:server_name /user:%username% /pass:%password%
net use O: directory

endlocal

ユーザーからの入力を受け取るsetコマンドについては、以下のページで詳しく説明しています。

複数の IP アドレスに対して、ネットワークドライブを割り当てる

自宅や社内に複数のサーバーや NAS がある場合、同時に複数のネットワークドライブを割り当てたいケースがあると思います。

そのような場合、バッチファイルを 2 つ用意し、1 つ目に今回ご紹介したコード、2 つ目に実際に起動するコードを記述することで、シンプルに実現することができます。

ここでは 1 つ目のバッチファイルをnetwork.cmd、2 つ目のバッチファイルをstart.cmdとして実装します。

network.cmd
@echo off
setlocal

cmdkey /add:%1 /user:%2 /pass:%3

echo %1の資格情報を追加しました

net use %4: %5

echo %4ドライブへ%5を割り当てました

endlocal
start.cmd
@echo off
setlocal

call network.cmd server_name1 username1 password1 O: directory1
call network.cmd server_name2 username2 password2 P: directory2
call network.cmd server_name3 username3 password3 Q: directory3
call network.cmd server_name4 username4 password4 R: directory4

endlocal

callコマンドについて詳細を知りたい方は、以下の記事をご覧ください。

In preparation
La página vinculada está actualmente en preparación. Por favor, espere un momento.

上記のコードを実行することで、4 つのネットワークドライブへ一括で割り当てることができます。

実行すると、以下のように表示されます。

×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2024 Ribbit App Development All rights reserved.
 
C:\users\user>start.cmd
server_name1の資格情報を追加しました
Oドライブへdirectory1を割り当てました
server_name2の資格情報を追加しました
Pドライブへdirectory2を割り当てました
server_name3の資格情報を追加しました
Qドライブへdirectory3を割り当てました
server_name4の資格情報を追加しました
Rドライブへdirectory4を割り当てました
C:\users\user>
#PowerShell