これは一種の興味深い問題なので、ここで我慢してください。
ファイルをエンドユーザー デバイスに同期するために使用する 3 つのレベルのネストされたフォルダーがあります。最初のレベルでは管理者がアクセス許可を持ち、2 番目のレベルではエンド ユーザーが (明示的かつ個別の) アクセス許可を持ち、3 番目のレベルではコンテンツがあります。 (ファイルと通常は複数のフォルダー)。
この問題は、(時折) 第 3 レベルに移動されるコンテンツがその上のフォルダーからアクセス許可を継承しない場合に発生します。データ)。
これを解決するために、第 3 レベルのフォルダーを掘り下げ、そこにある ACL の継承フラグをリセットするバッチ スクリプト (毎日のスケジュールで実行する) を作成しようとしています。このスクリプトは、第 2 レベルのフォルダーのアクセス許可に触れないことが重要です (エンド ユーザーの明示的な権限が削除されるため)。
これが私が使用しているスクリプトです(はい、非常に単純です):
SET base=C:\testPrivate
SET subfolders=.\*
FOR /r %base% %%a in (.) do
(
icacls.exe %subfolders% /reset /t
)
exit /b
現在作成しようとしているスクリプトの問題は、作業中のディレクトリの下にあるすべてのもの (第 2 レベルを含む) のアクセス許可をリセットすることです。
icacls が第 3 レベルのフォルダーでのみ処理されるように、/r フラグの作業ディレクトリを取得して %subfolders% にフィードする、使用できるフラグまたは変数はありますか?