如何通过 Powershell 根据组成员身份管理 NTFS 条件访问 (DAC)?

如何通过 Powershell 根据组成员身份管理 NTFS 条件访问 (DAC)?

我需要根据以下条件管理 NTFS 访问条件团体成员通过电源外壳。通过查阅有关 DAC 的 MS 文档,我发现了一堆 cmdlet [Get/New/Set/Remove]-[ADClaimType/ADCentralAccessPolicy/ADCentralAccessRule],但我使用 GUI 创建的条件(设置屏幕截图) 不会弹出。尽管它可以正确限制仅允许指定组的成员访问。

我感觉我在这里遗漏了一些要点...它与声明无关(因为组成员身份不是 AD 用户记录属性),所以我希望我创建的条件显示在规则/策略列表中,但两者似乎都是空的。

最终目标是通过 PS 管理此类情况,以实现自动化。如果有人能给我指明正确的方向,那将非常有帮助。

阿列克谢·帕诺夫 - 德累斯顿

答案1

以防有人需要,我回答我自己的问题...屏幕截图中的访问规则不是中心规则(因此它没有显示在 AD DAC 中)但似乎是常规 ACL 的一种扩展。

我发现修改它的唯一方法是通过 SDDL。

  1. 获取 ACL 对象:$acl = Get-Acl -Path $FolderPath
  2. 获取当前 SDDL 字符串:$acl.Sddl
  3. 使用如下条件规则扩展现有条目(注释和X部分)。0x1301bf;(Member_of_any {SID(S-1-5-21-XXX-XXX-XXX-1619)})
(A;OICI;FA;;;S-1-5-21-XXX-XXX-XXX-1113)
(XA;OICI;0x1301bf;;;S-1-5-21-XXX-XXX-XXX-1113;(Member_of_any {SID(S-1-5-21-XXX-XXX-XXX-1619)}))

通过检查 GUI 对象的不同 SDDL,可以学到更多示例。

  1. 修改$acl对象:$acl.SetSecurityDescriptorSddlForm($NewSddl)
  2. 将其重新应用到文件夹:Set-Acl -Path $FolderPath -AclObject $acl

如果有人知道更方便的方法 - 请回复:)

阿列克谢·帕诺夫 - 德累斯顿

相关内容