我以前没有制作过 VBS 脚本,但我想将文件从我们的服务器复制到客户端上的本地硬盘驱动器并制作了这个:

Posted

技术标签:

【中文标题】我以前没有制作过 VBS 脚本,但我想将文件从我们的服务器复制到客户端上的本地硬盘驱动器并制作了这个:【英文标题】:Ive not made a VBS Script before but i want copy a file from our server to local hard drives on clients and have made this: 【发布时间】:2012-10-23 09:59:39 【问题描述】:

我做了一个登录 vbs(有史以来第一次),所以当有人登录到域时,它会将文件从网络驱动器复制到每台本地计算机。这行得通吗(只要目录正确)?

<% 
dim filesys
set filesys=CreateObject("Scripting.FileSystemObject")
If filesys.FileExists("W:\Student Shared Area\SBN\registration.xml") Then
  filesys.CopyFile "W:\Student Shared Area\SBN\registration.xml"  _
    , "C:\Program Files\New-Media-Learning\Logicator\"
End If
%>

【问题讨论】:

复制的怎么样了?是来自映射驱动器还是网络共享? 它来自映射的网络驱动器(虽然它是服务器上的共享文件夹 - 不是完整的驱动器) 映射的驱动器是持久的,还是在登录时通过批处理文件或类似文件设置? 驱动器通过在 AD 中设置的组对用户保持持久性。如果他们是组的成员,则登录脚本会在用户每次登录时将驱动器添加到用户 我如何向你展示我已经得到的,因为我不知道它是否接近。必须是 vbs,因为 .bats 被阻止。这就是我所拥有的 - 它没有出现在上面:“" 【参考方案1】:

我发现您的代码存在两个潜在问题:

登录脚本运行时,驱动器W: 尚未(尚未)映射。如果您在复制文件之前映射驱动器,这不会成为问题,但最好为源使用 UNC 路径:

filesys.CopyFile "\\server\share\Student Shared Area\SBN\registration.xml", "C:\Program Files\New-Media-Learning\Logicator\"

不过,我个人更喜欢Group Policy Preferences,如果你愿意的话。

用户没有C:\Program Files\New-Media-Learning\Logicator\ 的写入权限(登录脚本在用户的上下文中运行)。这可以通过使用 GPO 的文件夹上的changing permissions 来缓解。

【讨论】:

以上是关于我以前没有制作过 VBS 脚本,但我想将文件从我们的服务器复制到客户端上的本地硬盘驱动器并制作了这个:的主要内容,如果未能解决你的问题,请参考以下文章

如何重命名文件并覆盖 VBS 中的现有文件?

如何使用 Windows 批处理文件或 vbs 脚本一次将多个文件 1 从 2 个文件夹复制到另一个文件夹

错误 - 在Windows 7中使用“Git Bash Here”时,“文件扩展名.vbs没有脚本引擎”

如何从 bash 脚本中停用 virtualenv

如何在Windows VBS Script上更改语音

如何从PNG图像制作字体图标?