「このオブジェクトから継承されたアクセス許可をすべて削除します。」をPowerShellで実現する方法

Windows OS上にあるフォルダーのアクセス権について、上位のフォルダーから継承されたアクセス権を削除したい場合、GUIだと以下の手順で実行できます。

①フォルダーを右クリック&「プロパティ」を選択し、「セキュリティ」タブにて「詳細設定」をクリック。

②「継承の無効化」を選択し、「このオブジェクトから継承されたアクセス許可をすべて削除します。」をクリック。

③削除されました

 

これと同じことをPowerShellで行いたい場合は、以下を入力することで可能となります。

 

$Acl = Get-Acl “(対象フォルダーのパス)” #対象オブジェクトのACL取得
$Acl.SetAccessRuleProtection($true,$false)
$Acl | Set-Acl “(対象フォルダーのパス)” #変更したACLの適用
 

ここで肝になるのが赤字の二行目ですが、詳細は以下Microsoft社の公式ドキュメントに記載があります。

第一引数に「$true」、第二引数に「$false」を設定しましょう。

ObjectSecurity.SetAccessRuleProtection(Boolean, Boolean) メソッド (System.Security.AccessControl) | Microsoft Learn

 

因みに、先ほどの②の画像内のもう一つの選択肢「継承されたアクセス許可をこのオブジェクトの明示的なアクセス許可に変換します。」をPowerShellで実行したい場合は、第一引数・第二引数共に「$true」を設定します。
 
アクセス権の設定に関しては以下記事が参考になるかと思います。
いいね (この記事が参考になった人の数:2)
(↑参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください