Я наконец-то настроен, чтобы иметь возможность работать из дома через VPN (используя Шрю в качестве клиента), и у меня есть только одно раздражение. Мы используем некоторые командные файлы для загрузки файлов конфигурации на сетевой диск. Работает нормально с работы и с ноутбука моего руководителя, но обе эти машины находятся в домене. Моя домашняя система не является и не будет, поэтому, когда я запускаю командный файл, я получаю массу ошибок «неверный диск», потому что я не пользователь домена.
Решение, которое я нашел до сих пор, заключается в создании командного файла со следующим:
explorer \\MACHINE1
explorer \\MACHINE2
explorer \\MACHINE3
Затем вручную войдите на каждую машину, используя мои учетные данные домена, когда они всплывают. К сожалению, мне может понадобиться использовать около 10 машин, и ввод пароля затруднен, если я пропустил тот, который требуется для пакетного файла.
Я пытаюсь использовать ответ на этот вопрос , чтобы создать небольшое приложение на C #, которое будет получать информацию для входа один раз и осуществлять программный вход. Будет ли аутентификация автоматически предоставляться Проводнику или мне нужно что-то особенное? Если это работает, как долго кэшируются учетные данные?
Есть ли приложение, которое делает что-то подобное автоматически?
К сожалению, по словам нашего администратора, аутентификация домена через VPN невозможна.
РЕДАКТИРОВАТЬ : Если есть способ передать информацию для входа в Проводник через командную строку, это было бы еще проще, используя Ruby и highline.
РЕДАКТИРОВАТЬ : Если у кого-то есть такая же проблема, вот решение, которое я использовал. Требуется Рубин и самоцвет Highline.
require "highline/import"
domain = ask("Domain: ")
username = ask("Username: ")
password = ask("Password: ") { |q| q.echo = false }
machines = [
'\\MACHINE1\SHARE',
'\\MACHINE2\SHARE',
'\\MACHINE3\SHARE',
'\\MACHINE4\SHARE',
'\\MACHINE5\SHARE'
]
drives = ('f'..'z').to_a[-machines.length..-1]
drives.each{|d| system("net use #{d}: /delete >nul 2>nul"); }
machines.zip(drives).each{|machine, drive| system("net use #{drive}: #{machine} #{password} /user:#{domain}\\#{username} >nul 2>nul")}
Он выяснит, сколько подключенных дисков мне нужно, а затем начнет сопоставлять их с запрошенными общими ресурсами. В этом случае он сопоставляет их с V: на Z: и предполагает, что у меня нет ничего общего с этими буквами диска.
Если у вас уже есть окно Explorer, открытое для одного из общих ресурсов, оно может выдать ошибку, поэтому перед запуском сценария Ruby я запустил:
net use * /delete
Это устранило ошибку «несколько подключений к общему ресурсу не разрешено» и позволило без проблем подключиться.