異なる内容を持つフォルダ間で権限をコピーする方法

異なる内容を持つフォルダ間で権限をコピーする方法

icacls /save & /restoreここで回答が得られました。またはを使用して同一フォルダーの権限を複製する方法を知っていますrobocopy /MIR。 しかし、フォルダーから異なるコンテンツを持つターゲット フォルダーに同じユーザー権限を複製することはできません。 を使用するとìcacls /restore、ターゲット フォルダーは引き続き親からユーザー権限を継承します (継承を明示的に無効にしていますが)。

私の使用例では、ポータブル アプリ フォルダーがあり、この問題のあるサブフォルダーに配置すると正常に動作しませんが、同じ D:\ ドライブのルートに配置すると完全に動作します。フォルダー パスには、 などの「禁止」文字はなく% ^ etc.、文字のみで、パスはそれほど長くありません。

既知の適切な場所からターゲット フォルダーにアクセス許可をすばやく複製する方法はありますか? 助けてください。

どうもありがとう。

図

答え1

編集:

急いで投稿してしまい申し訳ありません。

再度確認した後、私が見つけたものはすべて次のとおりです。

  • コマンドrobocopyは、ファイルまたはサブフォルダーに権限を割り当てません。そのため、次の追加手順が必要です (Windows 10 の場合)。 Folder properties > Security tab > Advanced > Permission = Check the box at "Replace all child object permission entries with inheritable permission entries from this object"
  • Icacls /save実際にIcacls /restoreは動作します。ただし、フォルダーの継承状態が適用されます。「ソース」で継承が有効になっている場合、ターゲット フォルダーでも継承が有効になります (ソースの親からではなく、その親から)。そのため、「ソース」ではフォルダーの継承を一時的に無効にする必要があります。

*)何か問題が発生した場合や、「ソース」のすべての変更を元に戻すのを忘れた場合にソースが壊れる可能性があるため、これを行わない方が良いと思います。

  • PowerShellでさらにテストはしていませんget-acl -path | set-acl -pathが、以前は次のように動作していましたicacls /restore

私の場合、robocopyコマンドを選択します。特にこれを見つけた後https://serverfault.com/questions/475612/replace-permission-entries-on-all-child-objects-using-icacls私はこれをテストしているわけではなく、これを次のように 1 行の cmd コマンドに組み合わせることができると想像しているだけです。

robocopy d:\source_folder_permission destination_folder_permission /e /sec /secfix /xc /xn /xo /xx /xl & icacls "destination_folder_permission\*" /q /c /t /reset

以上です。乾杯 :)


ついに!夢の答えを見つけました。この人に感謝しますRobocopy のみを使用して権限をコピーする

これはコマンドの例ですrobocopy:

robocopy d:\source_folder_permission destination_folder_permission /e /sec /secfix /xc /xn /xo /xx /xl

管理者として実行します。

これが皆様にとって有益なものとなることを願っています。良い一日を!

関連情報