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