У меня эта проблема, я пытаюсь скопировать домашний каталог с одного сервера на другой с помощью robocopy. Теперь моя проблема в том, сможет ли robocopy передать все разрешения?
Вот командная строка, которую я использую:
robocopy "\\server1\home" "D:\home" /E /SEC /Copy:DATSOU /IS /IT /log:c:\logfile.txt /TEE
Я перехожу с 32-разрядной версии Windows 2003 R2 Standard на 64-разрядную версию Windows 2008 R2 Enterprise.
Я не замужем за роботом, если есть другое, лучшее решение, я все уши, пожалуйста!
Спасибо!
Robocopy может это сделать. Этим управляет:
/ COPY: copyflag [s]: что копировать (по умолчанию / COPY: DAT) (copyflags: D = Data, A = Attributes, T = Timestamps S = Security = NTFS ACLs, O = Owner info, U = aUditing info) . / SEC: копировать файлы с помощью SECurity (эквивалент / COPY: DATS).
Вероятно, это страница, без которой вам не следует быть если вы планируете немного использовать robocopy.
Синтаксис, доступные переключатели, коды выхода, атрибуты файлов, примеры, известные проблемы с различными версиями ... действительно больше, чем вы когда-либо хотели знать о robocopy. В любом случае, поскольку у вас есть /COPY:DATSOU
в своем коде обратите внимание на следующее. Каждый раз, когда я вижу сценарий с /COPY:DATSOU
в нем я знаю, что автор не проявил должной осмотрительности в отношении robocopy и не усложнил ему задачу.
/COPYALL : Copy ALL file info (equivalent to /COPY:DATSOU)
Списки DACL, которые фактически определяют разрешения, будут работать только в том случае, если они ссылаются на участников безопасности на основе домена ИЛИ на один из хорошо известных идентификаторов безопасности (например: S-1-5-18 для LocalSystem). Если у вас есть локальные группы, они не могут быть разрешены на целевом сервере.