Неисповедимы порою пути, которым приходится следовать, решая задачи удалённого администрирования. Родной инструментарий Windows в этом плане работу отнюдь не облегчает.
На удалённой клиентской машине, где-то в Германии введённой в домен, запущена пока что только Windows PE, которую мы и настраиваем. Дело доходит до монтирования сетевого диска, и вот тут-то и начинается прекрасное: у стандартной учётной записи, под которой PE и работает, не хватает на это прав. Удалённого доступа к машине нет вообще никакого. В текущей ситуации мы можем лишь только отсылать через среду удалённого развёртывания команды и смотреть на результат их выполнения. Отсюда следует прекрасный вывод: мы не можем выполнить задание под другим пользователем, поскольку все без исключения утилиты Windows при этом требуют ввода пароля из терминала — без всяких исключений! Дать же прямой удалённый доступ к машине, равно как и набрать команду самостоятельно, немцы отказываются категорически: мол, политика безопасности у них такая, а подготовить машину к работе вообще наша задача, и ничего они за нас делать не будут. Ситуация начинает выглядеть безвыходной, половина отдела погружается в жестокий мозговой штурм…
Решение всё-таки было найдено: до безобразия уродливое, до безобразия лобовое. На машину закидывался и затем выполнялся файл VBScript следующего содержания:
set oShell = Wscript.CreateObject("WScript.Shell")
oShell.Run "net use T: \\%sharename%$ /user:%username%"
WScript.Sleep 500
oShell.Sendkeys "Pa$$w0rd~"
Wscript.Quit
То есть скрипт вызывал окно командной строки, ждал 500 миллисекунд для верности, чтобы появился интерактивный запрос на ввод пароля, а затем имитировал ввод данных с терминала. Самым удивительным при этом оказалось то, что метод сработал, диск примонтировался, и начальник, уже доведённый до белого каления поведением несгибаемого немца, его одобрил. Попросил только доработать, чтобы скрипт вдобавок писал в текстовый файл результат выполнения dir для свежесмонтированного диска.