Как подключить домашний диск пользователя Samba через VPN?

Как подключить домашний диск пользователя Samba через VPN?

Добрый вечер,

Я не уверен, возможно ли то, что я пытаюсь сделать, но я решил задать этот вопрос — на случай, если кто-то уже пробовал это сделать и добился успеха.

Я тестирую OpenVPN как возможное решение VPN для наших мобильных сотрудников. Я хотел бы сопоставить два сетевых диска — оба являются общими ресурсами Samba. Один из них — общий ресурс, доступный просто по вызову \servername\sharename (с которым у меня нет проблем). Второй — домашний диск пользователя.

Под пользователем я подразумеваю пользователя, учетные данные которого использовались для аутентификации и создания VPN-туннеля. Я уже пробовал следующее в пакетном файле, но это не работает:

net use u: \\172.23.6.127\%U /persistent:no

Я знаю, что в Samba я могу использовать макрос (%u) для представления вошедшего в систему пользователя, но я не уверен, как это сделать в пакетном файле. Возможно ли это вообще?

ПРИМЕЧАНИЕ: Я знаю, что это сработает, если я укажу фактическое имя пользователя, но это означает, что мне придется создавать и распространять отдельный пакетный файл для каждого пользователя (что я не против сделать), но если есть способ этого не делать, я хотел бы изучить его.

решение1

Одним из вариантов является создание (но не распространение) отдельного сценария входа для каждого пользователя с опцией Samba.

logon script = %U.bat

В файлах .BAT имя пользователя должно быть указано в переменной %USERNAME%, поэтому ваша команда будет выглядеть так:

net use u: \\172.23.6.127\%USERNAME% /persistent:no

Альтернативой является использование VBscript:

Set wshNetwork = CreateObject("WScript.Network")
wshNetwork.MapNetworkDrive "u:", "\\172.23.6.127\" & wshNetwork.UserName

Или PowerShell (но он должен быть установлен на ваших клиентах)

$STRusername = "username" 
$username = (get-item env:$STRusername).Value 
$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\172.23.6.127\" + $username)

Связанный контент