【问题标题】:VBScript FileSystemObject.CopyFile() to remote computer Path Not FoundVBScript FileSystemObject.CopyFile() 到远程计算机路径未找到
【发布时间】:2017-03-12 12:33:30
【问题描述】:

这是一个简单的脚本,我无法按照我想要的方式工作:

Const Overwrite = True
remoteHost = "DESKTOP1"
sDestination = "\\" & remoteHost & "\C:\Users\betsy\Desktop\"
sSource = ".transferFile.txt"

Wscript.Sleep 2000

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile sSource ,sDestination, Overwrite

msgbox "The file sent: " & sDestination & "."

这给了我Path not found。很混乱。为什么它不给我一个Permissions Denied 呢?当我真正坐在 Betsy 的电脑前时,路径正好是 C:\Users\betsy\Desktop\。这条路径绝对确实存在于远程计算机上 - 我已经检查了 100 次。也许我的sDestination 字符串格式不正确?

当我将 sDestination 更改为此时它可以工作...

sDestination = "\\" & remoteHost & "\Desktop1-Share\"

...但它不在正确的位置。

附: \\DESKTOP1\Desktop1-Share\ 是远程计算机上配置的共享文件夹,但我需要将文件发送到我的牛 Betsy 的桌面文件夹 \\DESKTOP1\c:\Users\betsy\Desktop,希望不配置共享文件夹。

此脚本的全部意义在于将文件复制到 1 台或多台远程计算机,而无需亲自坐在它们旁边。我实际上有数百台计算机可以做到这一点,但只需要向自己证明它可以在至少一台远程计算机上完成。

【问题讨论】:

    标签: vbscript remote-access filesystemobject file-copying


    【解决方案1】:

    路径\\<hostname>\C:\Users\betsy\Desktop\ 无效。主机名后面的部分应该是C$(自动创建的administrative share,只有管理员可以访问),或者如果您手动共享了目标文件夹或其祖先,它应该是完全不同的名称和/或路径一个。

    以上内容适用于 XP。在 Vista+ 中,access to administrative shares is prohibited by default unless the machine is in a domain and the user is a domain admin。它can be re-enabled by hand 但是

    • 按照the other answer 中的建议使用新的Users 共享是一种更易于管理的方式。在此之下,访问用户将只能看到其中the owner chose to share with them 的配置文件和文件夹(从技术上讲,他们拥有读取和执行权限)。

    【讨论】:

    【解决方案2】:

    你试过了吗

    sDestination = "\\" & remoteHost & "\Users\betsy\Desktop\"

    【讨论】:

    • 这应该可以在 Vista+ 中使用。运行脚本的人应以betsy 或管理员身份连接到共享,以查看\betsy 文件夹。
    猜你喜欢
    • 2022-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    相关资源
    最近更新 更多