週末に、会社のデータをあるハードドライブから別のハードドライブにコピーしました。許可はコピーされると思いましたが、コピーされませんでした。
すべてのデータを再度コピーすることなく、元々設定されていた権限を新しいデータにコピーするための最良の(そして最も速い)方法は何ですか?ユーザーがデータにアクセスしているため、変更が失われる可能性があるため、データを再コピーしないでください。
データはWindows Server 2008 R2でホストされています
私はこれでうまくいくと思います:
robocopy source destination /E /COPY:SOU /xo /xn /xc /xx /LOG+:F:\Sec.log.
"[〜#〜] sou [〜#〜]"コピー:[〜#〜] s [〜#〜]=セキュリティ情報(NTFS ACL)、- [〜#〜] o [〜#〜]=所有権情報、[〜#〜] u [〜#〜]=監査情報
これが機能しない場合は、次のコマンドを使用してNTFSアクセス許可をバックアップできます。
icacls d:\data /save ntfspermissions.txt /t /c
/ Tスイッチを使用すると、サブフォルダーの権限も取得できます。 / Cスイッチを使用すると、エラーが発生しても続行できます(ただし、エラーは表示されます)。
次に、このコマンドを使用してアクセス許可を復元します。
icacls d:\ /restore ntfsperms.txt
アクセス許可を保存するコマンドでは、ターゲットフォルダーD:\Data
を指定しましたが、それらを復元したとき、ターゲットとしてD:\
のみを指定したことに注意してください。 D:\
をrestoreコマンドのターゲットとして指定すると、そのレベルの他のフォルダーのアクセス許可が台無しになる可能性がありますが、ntfspermissions.txt出力ファイルからわかるように、Dataフォルダーに関する情報しかありませんとサブフォルダーです。変更されるのはそれだけです。
PowerShellの使用:
Get-Acl 'source path' | Set-Acl 'destination path'
xcopy e:\*.* z: /T /E /I /H /K /X /Y
e:
は、いくつかの共有とあらゆる種類の継承ブロックが点在する物理ドライブのルートでした。 z:
は「新しい」ドライブで、この場合はマップされたドライブです。
共有ではなく、権限のみが機能しました。
Robocopy を使用してみてください。私の知る限り、それはまだ新しいWindowsバージョンで動作します。
プリーアスが言ったように、ロボコピー。
/ copyallまたは/ copy:DATSOUは「すべて」(データ、属性、タイムスタンプ、NTFS ACL、所有者、監査情報)をコピーします。
/ COPY:copyflag [s]:何をコピーするか(デフォルトは/ COPY:DAT)(copyflags:D = Data、A = Attributes、T = Timestamps S = Security = NTFS ACLs、O = Owner info、U = aUditing info) 。