Ошибка XCOPY в доступе к папке "Мои документы"
Вот ситуация. У нас есть файловый сервер, настроенный в \fileserver\, в котором есть папка для каждого пользователя в \fileserver\ users \ first.last
Я запускаю команду xcopy для резервного копирования папки "Мои документы" со своего компьютера в личную папку. Команда, которую я запускаю:
xcopy "C:\Users\%username%\My Documents\*" "\\fileserver\users\%username%\My Documents" /D /E /O /Y /I
Я молча запускал этот скрипт при входе в систему без ведома пользователей, просто чтобы я мог заставить его работать, прежде чем рассказывать им, что он делает. После того, как я обнаружил, что это не работает, я вручную запустил пакетный скрипт, который выполняет команду xcopy на одном из их компьютеров, и получил ошибку "Отказано в доступе". Затем я вошел в тестовую учетную запись на моем собственном компьютере и получил ту же ошибку.
Я проверил все разрешения для общего ресурса и безопасности, и они настроены так, как я хочу. Я могу вручную перейти к этой папке и создавать новые файлы. Я могу перетаскивать элементы в папку \fileserver\ users \ first.last, и это прекрасно работает.
Поэтому я пытаюсь найти что-то еще, чтобы найти источник проблемы доступа. Я запустил команду xcopy, чтобы скопировать папку "Мои документы" в другое место на том же компьютере, и все равно получил ошибку "Отказано в доступе"!
Таким образом, xcopy, по-видимому, лишен доступа при попытке скопировать папку "Мои документы".
Любые предложения о том, как я могу получить это работает? Кто-нибудь знает причину ошибки доступа отказано?
7 ответов
Ответ представляет собой сочетание нескольких ответов, которые были даны, и вот оно.
В команде копирования это должны быть документы, а не мои документы.
Использование аргумента /O убивало его. Я подозреваю, что проблема заключается в том, как объяснил Саймон в том, что пользователи не имеют прав на изменение ACL на цели.
Изменение этих двух пунктов заставило команду работать.
Я подозреваю, что это / O - пользователи, вероятно, не имеют прав на изменение списков ACL NTFS на цели.
Во-первых, может быть, это из-за лишнего '\*' в первом аргументе xcopy.
Опять же, использование документов может помочь, потому что "Мои документы" - это просто точка соединения с "Документами", только для обратной совместимости с некоторыми ограничениями, например, вы не можете в этом участвовать.
Давайте разберемся с этим.
Вы хотите скопировать папку "Мои документы" и все ее содержимое в какое-то место. Groovy.
Перенаправление папок (/ автономных файлов) через групповую политику, однако, не так, как вы собираетесь. Справедливо; это не для всех.
Но в ваш сценарий встроено множество предположений, и, возможно, есть более простые способы сделать это.
Вместо этого вы можете:
Xcopy /S /Y "%USERPROFILE%\Documents" "\\server\%username%\Documents"
На моей действительно очень ванильной установке, попытка, которая просто работала для меня.
Есть и другие переменные, которые тоже могут быть полезны.
Далее: когда запускается скрипт? Если это вход в систему, он должен запускаться от имени пользователя, но вы можете обнаружить нарушения совместного доступа, если что-то также было открыто или использовано в данный момент.
Наконец, вы должны быть в состоянии выполнить эту команду, не требуя SeBackupPrivilege; Похоже, у вас нет разрешений, которые, по вашему мнению, у вас есть для этой учетной записи.
Да, и при запуске в сценарии входа в систему или при запуске вы можете оказаться в штучной упаковке, что снижает ваши эффективные разрешения и скорость.
Попробуйте запустить xcopy из командной строки с повышенными правами. т.е. щелкните правой кнопкой мыши> Запуск от имени администратора.
Папка Documents and Settings доставляла мне неприятности. Файл ntuser.dat недоступен при использовании. Поэтому я добавил.dat в новую строку в моем файле "exclude.txt", и он работает для меня. Итак, xcopy c:*. Xls i: \ xlsfiles / e / c / y /exclude:exclude.txt
(exclude.txt - это файл с...5 строками с именами совпадений папок или совпадениями имен файлов с cr lf)