
晚安,
我不確定我嘗試做的事情是否可能,但我想我應該把問題提出來——以防有人已經嘗試過並取得成功。
我正在測試 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)