次のrobocopyオプションを使用して、あるハードドライブから別のハードドライブにフォルダをコピーしようとしています。
robocopy "H:\Source" "T:\target" /E /COPY:DATSO /R:1 /W:1 /DCOPY:T /Z /LOG:T:\Belfirst_copy.log /NP
所有者が管理者ではなく、特定のドメインユーザーであるファイルの場合、次のエラーが発生します。
ERROR 1307 (0x0000051B) Copying NTFS Security to Destination Directory T:\target\...(a lot of files/dirs)
This security ID may not be assigned as the owner of this object.
私が見つけることができる提案されたソリューションをすべて試しました:
明らかな理由で、/ COPY:Oオプションなしでコピーすると問題が解決します。しかし、それはもちろん目的を上回ります。
何が足りないのですか?
プラットフォーム:Windows Server 2008 R2
(これは「 Windows Server 2008のスケジュールされたタスクでのRobocopyの失敗 と非常に関連していますが、コメントを追加するのに十分な評判がありません。)
通常、ファイルシステムオブジェクトのNTFS所有権は自分でのみ取得できます。所有権を第三者に設定することはできません。 (これにより、ユーザーが他人の無警戒な人物の所有権の下で侵害または有罪のデータを保存することなどを防ぎます。)
セキュリティポリシーには「ファイルとディレクトリの復元」権限があります。 Microsoft 州 :
このセキュリティ設定[...]は、オブジェクトの所有者として有効なセキュリティプリンシパルを設定できるユーザーを決定します。
どうやら、所有権をコピーするにはこの特権が必要です。 Robocopyは、所有権を任意のプリンシパルに設定できるセキュリティコンテキストで実行する必要があります。
デフォルトでは、ローカル管理者には次の特権があります。
既定では、この権限は、ドメインコントローラーのAdministrators、Backup Operators、およびServer Operatorsグループと、スタンドアロンサーバーのAdministratorsおよびBackupOperatorsグループに付与されます。
(「ファイルとディレクトリの復元」権限はポリシーの一部です。有効にするには、ログオフして再度ログオンする必要がある場合があります。)
私もこの問題を抱えていました。現在ログインしているユーザーをrobocopyし、すべてのプロファイルフォルダーをネットワーク共有の場所にコピーするバッチファイルを作成しました。変数とスイッチのこの組み合わせを使用すると、すべてのフォルダーがエラーなしでコピーされます。コマンドは個々のフォルダごとに作成する必要がありますが、機能します。ネットワーク共有にフォルダを作成する権限をユーザーに付与するか、初回バックアップの前にフォルダを作成する必要がある場合があります。
robocopy "%HOMEPATH%\ FOLDER" "\ SERVER\NETWORK_SHARE \%USERNAME%\ FOLDER"/s/mir/zb/b/copy:dat