Существует ли хороший способ доступа к сетевым ресурсам из сценария VBS с альтернативными учетными данными (не учетными данными, с которыми работает сценарий VBS)?
Цель состоит в том, чтобы выполнить две задачи:
- программно перемещаться по файловой структуре удаленного общего ресурса, чтобы подтвердить, что существует пара удаленных файлов, и скопировать один файл поверх другого (оба удаленных)
- копирование файлов с локального диска (доступ с локальным именем пользователя / разрешениями) на удаленный диск (доступ с альтернативными учетными данными)
Насколько я могу судить, FSO (Scripting.FileSystemObject) находится вне поля зрения, потому что он всегда работает с учетными данными приложения, использующего его - который будет пользователем локальной машины. (?)
Единственный жизнеспособный подход, который я нашел при поиске в Google, чтобы подготовить пакетный файл (или расширенный вызов «cmd.exe»), который использует «net use» для предоставления учетных данных удаленного общего ресурса, а затем копирует файлы с помощью robocopy. или тому подобное, из одной и той же командной сессии "сеанс". Это бы хорошо работало для копирования / развертывания файлов с локального диска на удаленный общий ресурс, но было бы очень сложно и хрупко выполнить любой вид просмотра файловой системы (как вы сделали бы с FSO) таким образом.
Другая возможность, которую я рассмотрел, включает в себя два сеанса сценариев - вы вызываете сценарий (предоставляя альтернативные учетные данные в командной строке) и запускаете сеанс cmd.exe, который сначала выполняет «сетевое использование» для сопоставления удаленного общего ресурса. на временный локальный диск, затем запускает себя в режиме «фактически что-то делать» и использует FSO, затем, когда это делается (обратно в оболочке cmd.exe), снова отключает временный диск с помощью «net use». Это неуклюже (несколько окон, временный диск ...), и я даже не уверен, что это сработает.
Кто-нибудь знает, так или иначе, или знает о жизнеспособной альтернативе? (придерживаясь VBScript / WScript на компьютере с Windows 2000 - без PowerShell!)