是否有一种从 VBS 脚本中访问网络共享的好方法,使用备用凭据(不是运行 VBS 脚本的凭据)?
目的是执行两项任务:
- 以编程方式导航远程共享文件结构,以确认存在几个远程文件,并将一个文件复制到另一个文件(均为远程文件)
- 将文件从本地驱动器(使用本地用户名/权限访问)复制到远程驱动器(使用备用凭据访问)
据我所知,FSO(Scripting.FileSystemObject)不在图片中,因为它始终使用使用它的应用程序的凭据运行 - 这将是本地计算机用户。(?)
我在谷歌搜索准备使用“net use”提供远程共享凭据的批处理文件(或对“cmd.exe”的扩展调用)时发现的唯一可行的方法,然后使用 robocopy 等复制文件,来自同一命令外壳“会话”。这对于将文件从本地驱动器复制/部署到远程共享来说可以正常工作,但是以这种方式进行任何类型的文件系统浏览(就像您使用 FSO 一样)都会非常复杂和脆弱。
我考虑过的另一种可能性涉及两个脚本会话 - 您调用脚本(在命令行中提供备用凭据)并运行 cmd.exe 会话,该会话首先执行“网络使用”以将远程共享映射到临时本地驱动器,然后以“实际做事”模式运行并使用 FSO,然后当它完成时(回到 cmd.exe 外壳)再次使用“网络使用”断开临时驱动器。这很笨重(多个窗口,临时驱动器......),我什至不确定它会起作用。
有没有人知道任何一种方式,或者知道可行的替代方案?(在 Windows 2000 机器上坚持使用 VBScript / WScript - 没有 PowerShell!)