VPN을 통해 Samba 사용자의 홈 드라이브를 어떻게 매핑합니까?

VPN을 통해 Samba 사용자의 홈 드라이브를 어떻게 매핑합니까?

좋은 저녁이에요,

내가 하려는 일이 가능한지 아닌지는 잘 모르겠지만, 누군가가 이미 이것을 시도하여 성공했을 경우를 대비해 질문을 던져야겠다고 생각했습니다.

저는 모바일 직원을 위한 가능한 VPN 솔루션으로 OpenVPN을 테스트하는 중입니다. 두 개의 네트워크 드라이브를 매핑하고 싶습니다. 둘 다 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)

관련 정보