Назад | Перейти на главную страницу

Клиентские сценарии OpenVPN для подключенных дисков

Я довольно много поискал, но мне нужна помощь в запуске скриптов на клиентах, когда они подключаются. Конечная цель для клиентов Windows - подключить некоторые диски при подключении и отключить диски при отключении. Сервер OpenVPN - это экземпляр Amazon Marketplace, и у меня есть доступ к консоли через putty / sftp. Клиенты могут успешно подключаться с использованием двухфакторной аутентификации и получать свой правильный IP-адрес / маршрутизацию.

Я попытался разместить несколько скриптов в Group Permissions> Client Scripting следующим образом:

А скрипт up.sh просто следующий.

net use Z: "\\server.domain.com\Share" /user:domain\username P@ssw0rd

В файле up.sh есть:

 -rwxrwxrwx  1 root root    70 Jan 23 15:45 up.sh

Разрешения на каталог / etc / openvpn:

 drwxr-xr-x  2 root root    4096 Jan 23 15:45 openvpn

Итак, в качестве теста я ожидаю увидеть что-то в клиентских журналах, найденных здесь, на клиенте:

c: \ program files (x86) \ OpenVPN Technologies \ OpenVPN Client \ etc \ log \ capi.log

Когда клиент подключается, появляется следующее всплывающее сообщение:

После нажатия кнопки Да ничего не происходит, и в журнале клиента отображается следующее:

    2018-01-23 15:58:14-0800 [-] user_connect-PP ERR: "'--script-security' is not recognized as an internal or external command,\r"
2018-01-23 15:58:14-0800 [-] user_connect-PP ERR: 'operable program or batch file.\r'
2018-01-23 15:58:14-0800 [-] user_connect-PP ERR: "'--client-connect' is not recognized as an internal or external command,\r"
2018-01-23 15:58:14-0800 [-] user_connect-PP ERR: 'operable program or batch file.\r'

Если я уберу два дефиса (-) перед каждой строкой скрипта, ошибки клиента в журнале останутся прежними.

Спасибо за любой вклад!

Интерпретатор сценариев по умолчанию для OpenVPN в Windows - cmd.exe. Измените клиентский скрипт, включив только net use Z: "\\server.domain.com\Share" /user:domain\username "P@ssw0rd" или другие соответствующие cmd команды, и все будет в порядке.

@JasonC также обнаружил, что пароль необходимо указывать.

Изменить: если вы хотите, чтобы конечный пользователь вводил пароль, используйте вместо этого что-то вроде этого:
powershell New-PSDrive -Name "Z" -PSProvider "FileSystem" -Root "\\Server\Share" -Persist -Credential (Get-Credential)