Wie ordnet ich das Home-Laufwerk eines Samba-Benutzers über VPN zu?

Wie ordnet ich das Home-Laufwerk eines Samba-Benutzers über VPN zu?

Guten Abend,

Ich bin nicht sicher, ob das, was ich versuche, möglich ist oder nicht, aber ich dachte, ich stelle die Frage einfach mal – für den Fall, dass es schon jemand versucht und Erfolg gehabt hat.

Ich bin gerade dabei, OpenVPN als mögliche VPN-Lösung für unsere mobilen Mitarbeiter zu testen. Ich möchte zwei Netzlaufwerke zuordnen – beide sind Samba-Freigaben. Eines ist eine allgemeine Freigabe, auf die man einfach über \Servername\Freigabename zugreifen kann (was für mich kein Problem ist). Das zweite ist das Home-Laufwerk des Benutzers.

Mit Benutzer meine ich den Benutzer, dessen Anmeldeinformationen zur Authentifizierung und zum Erstellen des VPN-Tunnels verwendet wurden. Ich habe bereits Folgendes in einer Batchdatei versucht, aber es funktioniert nicht:

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

Ich weiß, dass ich in Samba das Makro (%u) verwenden kann, um den angemeldeten Benutzer darzustellen, aber ich bin nicht sicher, wie das in einer Batchdatei geht. Ist das überhaupt möglich?

NOTIZ: Ich weiß, dass es funktioniert, wenn ich den tatsächlichen Benutzernamen angebe, aber das bedeutet, dass ich für jeden Benutzer eine separate Batchdatei erstellen und verteilen muss (was mir nichts ausmacht). Wenn es jedoch eine Möglichkeit gibt, dies nicht zu tun, würde ich diese gerne ausprobieren.

Antwort1

Eine Möglichkeit besteht darin, mit der Samba-Option für jeden Benutzer ein separates Anmeldeskript zu erstellen (aber nicht zu verteilen).

logon script = %U.bat

In .BAT-Dateien sollte der Benutzername in der Variable %USERNAME% stehen, so dass Ihr Befehl

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

Eine Alternative besteht in der Verwendung von VBscript:

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

Oder PowerShell (muss jedoch auf Ihren Clients installiert sein)

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

verwandte Informationen