Windows
如何通過 VPN 映射 Samba 使用者的主驅動器?
晚上好,
我不確定我正在嘗試做的事情是否可能,但我想我會把問題放在那裡 - 以防有人可能已經嘗試過並且成功了。
我正在測試 OpenVPN 作為我們的移動員工可能的 VPN 解決方案。我想映射兩個網路驅動器 - 都是 Samba 共享。一種是普通共享,只需呼叫 \servername\sharename 即可訪問(我對此沒有任何問題)。第二個是使用者的家庭驅動器。
我所說的使用者是指使用憑據進行身份驗證和創建 VPN 隧道的使用者。我已經在批處理文件中嘗試了以下操作,但它不起作用:
net use u: \\172.23.6.127\%U /persistent:no
我知道在 Samba 中我可以使用宏 (%u) 來表示已登錄的使用者,但我不確定如何在批處理文件中執行此操作。甚至可能嗎?
注意: 我知道如果我指定實際的使用者名它會起作用,但這意味著我必須為每個使用者創建和分發一個單獨的批處理文件(我不介意這樣做)但是如果有辦法不這樣做,我想探索一下。
一種選擇是使用 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)