Robocopy は、CIFS ファイル サーバーからデータをコピーするときにエラー 1338 (セキュリティ記述子構造が無効です) またはエラー 87 (パラメーターが正しくない) を報告する可能性があります

この記事では、CIFS ファイル サーバーからファイルとその関連ファイル セキュリティをコピーするときに発生するエラー 1338 またはエラー 87 を修正するソリューションを提供します。

適用対象: Windows 7、Windows Server 1、Windows Server 2012 R2
元の KB 番号: 2459083

現象

Robocopy は、CIFS ファイル サーバーからファイルとそれに関連付けられているファイル セキュリティをコピーするときに、一部のファイルに対して次のエラーを報告する場合があります。

yyyy/mm/dd hh:mm:ss ERROR 1338 (0x0000053A) コピー先ファイル ファイル <パス名への NTFS セキュリティのコピー>
セキュリティ記述子の構造が無効です。

yyyy/mm/dd hh:mm:ss ERROR 87 (0x00000057) NTFS セキュリティをコピー先ファイル の <ファイル パス名にコピーする>
パラメーターが間違っています。

このエラーは、たとえば Robocopy コマンド ラインで または /COPYALL を指定して、ファイル セキュリティを/SECコピーする場合にのみ発生します。 ファイル セキュリティがコピーされない場合、すべてのファイルが正常にコピーされ、エラーは報告されません。

原因

このエラーは、CIFS ファイル サーバーがファイルの無効なセキュリティ情報を返すことによって発生します。 たとえば、CIFS ファイル サーバーがファイルの所有者またはファイルのプライマリ グループの NULL セキュリティ ID (SID) を返す場合、Robocopy がこの情報をコピー先ファイルにコピーしようとすると、Windows はエラー 87 パラメーターが正しくない か、エラー 1338 セキュリティ記述子が無効です。 これは設計上のものであり、Windows のファイル セキュリティ情報には、所有者グループ SID とプライマリ グループ SID の両方が含まれている必要があります。

解決方法

CIFS ファイル サーバーで、適切なツールを使用して、影響を受けるファイルのセキュリティ情報を修正し、影響を受けるすべてのファイルに所有者 SID とプライマリ グループ SID の両方があることを確認します。

詳細

これは設計上のものであり、Windows のファイル セキュリティ情報には、所有者グループ SID とプライマリ グループ SID の両方が含まれている必要があります。 セキュリティ記述子とAccess Control Listsの詳細については、次を参照してください。

セキュリティ記述子とAccess Control Listsのしくみ