¿Cómo asigno el disco doméstico de un usuario de Samba a través de VPN?

¿Cómo asigno el disco doméstico de un usuario de Samba a través de VPN?

Buenas noches,

No estoy seguro de si lo que intento hacer es posible o no, pero pensé en plantear la pregunta, en caso de que alguien ya lo haya intentado y haya tenido éxito.

Estoy en el proceso de probar OpenVPN como una posible solución VPN para nuestros empleados móviles. Me gustaría asignar dos unidades de red, ambas compartidas por Samba. Uno es un recurso compartido general al que se puede acceder simplemente llamando a \servername\sharename (con el que no tengo ningún problema). El segundo es el disco de origen del usuario.

Por usuario me refiero al usuario cuyas credenciales se utilizaron para autenticar y crear el túnel VPN. Ya intenté lo siguiente en un archivo por lotes, pero no funciona:

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

Sé que en Samba puedo usar la macro (%u) para representar al usuario que ha iniciado sesión, pero no estoy seguro de cómo hacerlo en un archivo por lotes. ¿Es siquiera posible?

NOTA: Sé que funciona si especifico el nombre de usuario real, pero eso significa que tendré que crear y distribuir un archivo por lotes separado para cada usuario (lo cual no me importa hacer), pero si hay una manera de no hacerlo, lo haría. gusta explorarlo.

Respuesta1

Una opción es crear (pero no distribuir) un script de inicio de sesión independiente para cada usuario con la opción Samba.

logon script = %U.bat

En archivos .BAT, el nombre de usuario debe estar en la variable %USERNAME%, por lo que su comando será

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

Una alternativa es utilizar VBscript:

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

O PowerShell (pero debe estar instalado en sus clientes)

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

información relacionada