VBScript FileSystemObject.CopyFile() на удаленный компьютер Путь не найден

Вот простой скрипт, который я не могу заставить работать так, как хочу:

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? Когда я на самом деле сижу за компьютером Бетси, путь точно C:\Users\betsy\Desktop\. Этот путь абсолютно действительно существует на удаленном компьютере — я проверил его 100 раз. Может быть, моя строка sDestination неправильно отформатирована?

Это работает, когда я меняю sDestination на это...

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

... но это не в правильном месте.

P.S. \\DESKTOP1\Desktop1-Share\ — это общая папка, настроенная на удаленном компьютере, но мне нужно отправить файл в папку \\DESKTOP1\c:\Users\betsy\Desktop на рабочем столе моей коровы Бетси, надеюсь, без настройки общих папок.

Весь смысл этого скрипта в том, чтобы скопировать файл на 1 или несколько удаленных компьютеров без необходимости физически сидеть за ними. У меня есть буквально сотни компьютеров, чтобы сделать это, но мне нужно только доказать себе, что это можно сделать хотя бы на одном удаленном компьютере.


person Rhyknowscerious    schedule 30.10.2016    source источник


Ответы (2)


Ты пытался

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

person fdo    schedule 30.10.2016
comment
Это должно работать в Vista+. Тот, кто запускает скрипт, должен быть подключен к общему ресурсу как betsy или администратор, чтобы видеть папку \betsy. - person ivan_pozdeev; 30.10.2016

Путь \\<hostname>\C:\Users\betsy\Desktop\ недействителен. Часть после имени хоста должна быть либо C$ (автоматически созданная административная общая папка, доступная только администраторам ), или это должно быть совершенно другое имя и/или путь, если вы вручную предоставили общий доступ к папке назначения или ее предку.

Вышеупомянутое будет работать в XP. В Vista+ доступ к административным общим ресурсам по умолчанию запрещен, если машина не находится в домене и пользователь является администратором домена. Его может быть повторно включается вручную но

  • использование нового общего ресурса Users, как предложено в другом ответе, является более управляемым способом. Под ним зашедший пользователь увидит в них только те профили и папки, которые владелец решил поделиться с ними (технически, для которых у них есть разрешения на чтение и выполнение).
person ivan_pozdeev    schedule 30.10.2016
comment
Я попытался перейти с c: на c$, но у меня была та же ошибка. Я полностью удалил C, и теперь он работает. Спасибо, что изучили это. - person Rhyknowscerious; 30.10.2016
comment
Это очень полезные ссылки. Я прочитал их все и уверен, что в ближайшем будущем они помогут мне избежать путаницы, связанной с проблемами разрешений и скрытыми административными сетевыми ресурсами. Большое спасибо. - person Rhyknowscerious; 30.10.2016