Вопрос или проблема
У меня проблема с RoboCopy, и вот сценарий.
Мой сервер работает на Windows Server Essentials 2012 R2. Мой ноутбук работает на Windows 10 Technical Preview. Сервер работает как контроллер домена, но мой компьютер не присоединен к этому домену.
У меня есть общая папка на сервере под названием “Pictures”, она расположена по адресу ~ \\192.168.1.10\Pictures
, которую я смонтировал как P:
с использованием учетной записи, имеющей полные права на эту папку. Я пытался сделать зеркало этой папки на своем локальном компьютере с помощью простой команды:
RoboCopy P:\ "C:\Users\[MyUsername]\Pictures" /MIR
Это всегда возвращает ошибку ERROR 5 (0x00000005) Accessing Destination Directory
, несмотря на то, что директория назначения находится под моей учетной записью, где я владелец. Я пробовал использовать как административную командную строку, так и стандартную пользовательскую командную строку. Оба варианта не работают 🙁
Использование RoboCopy между двумя локальными папками с использованием папки “Pictures” в качестве назначения работает нормально, так что я предполагаю, что это связано с правами домена, а не с фактическими правами назначения.
P.S.
Забавное дело, это работало нормально, когда мой компьютер использовал Windows 8 и подключался к Server Essentials с помощью приложения Connector без присоединения к домену (приложение Connector недоступно для Windows 10).
P.P.S.
Копирование непосредственно в Проводнике Windows работает нормально, но мне нужен RoboCopy, так как он гораздо эффективнее синхронизирует большие папки.
Буду признателен за любую помощь.
Обновление
Я не могу попробовать создать локального пользователя на сервере, так как сервер является контроллером домена. Однако я попытался предоставить доменному пользователю, которого я использую для маппинга сетевого диска на рабочей группе, полные права на папку, а также сделать его владельцем, и все равно ничего не вышло. Вот точный вывод RoboCopy:
------------------------------------------------------------------------------- ROBOCOPY :: Надежная копия файлов для Windows ------------------------------------------------------------------------------- Запущено : четверг, 25 июня 2015 21:40:01 Исходник : P:\ Назначение : C:\Users\stefa\OneDrive\Pictures\ Файлы : *.* Опции : *.* /V /S /DCOPY:DA /COPY:DAT /R:1000000 /W:30 ------------------------------------------------------------------------------ 25 P:\ 2015/06/25 21:40:02 ERROR 67 (0x00000043) Доступ к директории назначения C:\Users\stefa\OneDrive\Pictures\ Сетевое имя не может быть найдено. Ожидание 30 секунд...
Обновление 2
Я вполне уверен, что наткнулся на ошибку в Windows 10 (она все еще присутствует в 10159). Когда я пытаюсь это на машине с Windows 8.1 (x64, а также RT, чистая установка на обеих), используя robocopy через смонтированный сетевой диск или net use \\192.168.1.10\IPC$ ...
, все работает нормально. Но при использовании клиента Windows 10 это не работает. Моя теория заключается в том, что либо что-то сломалось в том, как Robocopy делает сетевые копии в Windows 10, либо что-то в сетевом стеке Windows 10 сломало RoboCopy.
Если это контроллер домена, он не может создавать локальные учетные записи. Обратите внимание, что есть несколько предостережений, которые нужно соблюдать, чтобы обеспечить правильный доступ между компьютером, присоединенным к домену, и компьютером в рабочей группе. Они в основном касаются удаленного PowerShell, удаленной командной строки и диспетчера серверов.
Попробуйте использовать UNC путь вместо этого, аналогично:
net use \\<SOURCE>\IPC$ /user:username password
robocopy \\<SOURCE>\backup c:\BACKUP / /S /SEC /V /NDL /NP /NFL /LOG:"c:\log.txt" /R:1 /W:1
net use /delete
Я наткнулся на ту же проблему при установке Windows 10. Я смог обойти это, так как выяснил, что проблема заключалась в переключателе /DCOPY:DA
. Использование /DCOPY:T
, например, сработало нормально. Так что не уверен насчет реальной причины, но я могу жить с обходным путем, по крайней мере пока…
Этот ответ связан с копированием данных в существующую директорию с тем же именем корневой папки, например:
robocopy "C:\Public" "H:\public" /s /e /w:01 /r:01 /NODCOPY
В случае, если вы хотите сохранить оригинальные права на файл назначения, используйте опцию /NODCOPY
/s /e /w:01 /r:01 /NODCOPY
Ответ или решение
Проблема с использованием RoboCopy для копирования данных между доменным сервером и рабочей группой
Описание проблемы:
Вы столкнулись с ошибкой доступа при использовании утилиты RoboCopy для передачи файлов с сервера на контроллере домена (Windows Server Essentials 2012 R2) на компьютер, который находится в рабочей группе (Windows 10 Technical Preview). Ошибка, с которой вы столкнулись, заключается в том, что RoboCopy не может осуществить копирование, даже несмотря на наличие прав доступа к исходной директории.
Причины возникновения проблемы
-
Ограничения между доменом и рабочей группой:
- Учетные записи пользователей и групп, действующие в домене, не могут быть использованы для доступа к ресурсам, расположенным в рабочей группе, если они не настроены правильно. Это может вызвать проблемы с аутентификацией.
-
Проблемы с правами доступа:
- Может быть, что ваш пользователь из домена не имеет корректных прав доступа для записи на вашу локальную машину, даже если вы пытаетесь использовать учетную запись, которая имеет права на доступ к сетевой папке. Windows может не обеспечить соответствующую аутентификацию.
-
Несоответствие между версиями Windows:
- Использование разных версий Windows (например, Windows 8 и Windows 10) может влиять на сетевые взаимодействия и работу с правами доступа, как вы отметили. У вас может быть ошибка, связанная с конкретной версией Windows 10, что иногда происходит при использовании программного обеспечения, находящегося на стадии тестирования.
Возможные решения
-
Использование UNC-пути:
- Вместо того, чтобы использовать уже смонтированный сетевой диск (P:), попробуйте использовать полный UNC-путь для исходной директории. Например:
net use \\192.168.1.10\IPC$ /user:username password robocopy \\192.168.1.10\Pictures "C:\Users\[MyUsername]\Pictures" /MIR net use /delete \\192.168.1.10\IPC$
- Вместо того, чтобы использовать уже смонтированный сетевой диск (P:), попробуйте использовать полный UNC-путь для исходной директории. Например:
-
Попробуйте использовать другие ключи RoboCopy:
- Применение ключа
/DCOPY:T
вместо/DCOPY:DA
может помочь избежать ошибки. Это позволит избежать копирования атрибутов, что может вызывать ошибки доступа. - Пример команды:
RoboCopy \\192.168.1.10\Pictures "C:\Users\[MyUsername]\Pictures" /MIR /DCOPY:T
- Применение ключа
-
Проверка прав на локальной машине:
- Убедитесь, что ваш пользователь имеет права на запись в целевую директорию и что папка, в которую вы копируете файлы, существует.
-
Используйте временное решение:
- Если прямое копирование через RoboCopy ни к чему не приводит, можете использовать Windows Explorer для временных перемещений файлов и позже синхронизировать их с помощью RoboCopy.
Заключение
Проблема с копированием с использованием RoboCopy между ресурсами доменной сети и рабочей группой может быть вызвана различными факторами, включая настройки безопасности, права доступа и сложности с аутентификацией. Попробуйте указанные выше альтернативные подходы и детали конфигурации, чтобы устранить возникшую ошибку.
Если ни одно из решений не сработает, вы можете рассмотреть возможность создания локальной учетной записи на сервере или использования другого программного обеспечения для синхронизации файлов, которое менее чувствительно к проблемам аутентификации.