Представим, что нам нужно обеспечить подключение множества пользователей с одного компьютера (клиента) к общим сетевым ресурсам на сервере. Для решения будем использовать утилиту net и команду net use.
На первый взгляд может показаться, что net use обладает ограничением на одновременное количество подключений к одному серверу:
>net use * \\10.11.108.25\test /user:testuser %password%
Drive Z: is now connected to \\10.11.108.25\test.
The command completed successfully.
>net use * \\10.11.108.25\test /user:testuser2 %password%
System error 1219 has occurred.
Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again.
Как мы видим из листинга, соединение с сетевым ресурсом test смог установить только первый пользователь testuser. Грустно :(
Однако данное ограничение можно обойти. Отправляемся в C:\windows\system32\drivers\etc и редактируем файл hosts (нам будут нужны права администратора). Добавляем в файл пары с разными host names и одним и тем же IP адресом нашего сервера:
Таким образом мы получим возможность создавать паралельные сессии, прописывая в команде net use разные имена хостов, вместо IP:
>net use * \\srv1\test /user:testuser %password%
Drive Z: is now connected to \\srv1\test.
The command completed successfully.
>net use * \\srv2\test /user:testuser2 %password%
Drive Y: is now connected to \\srv2\test.
The command completed successfully.
Проверяем установлинные соединения:
>net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK Z: \\srv1\test Microsoft Windows Network
OK Y: \\srv2\test Microsoft Windows Network
The command completed successfully.
Если при подключении к сетевому ресурсу мы будем монтировать сетевые диски, то количество возможных соединений будет ограничено набором свободных букв латинского алфавита. Чтобы преодолеть и это ограничение, просто убираем * из команды net use:
>net use \\srv1\test /user:testuser %password%
Теперь можно создавать большое количество соединений. Для быстроты добавления записей в файл hosts можно воспользоваться циклом for /L в командной строке. Например, добавим 100 записей (запускаем cmd под администратором и сменяем диркеторию из которой будем выполнять команду с C:\windows\system32 на любую другую):
>FOR /L %I IN (1,1,100) DO ECHO 10.11.108.25 SRV%I >> C:\WINDOWS\SYSTEM32\DRIVERS\ETC\HOSTS
Открываем файл hosts и видим 100 новых записей: