【问题标题】:How to set acl permissions for specific sub-folders in many paths?如何为多个路径中的特定子文件夹设置acl权限?
【发布时间】:2015-04-28 01:00:45
【问题描述】:

这是一个示例文件夹路径:E:\Datastore\MarcStone Bids\7401-7450\7415 Building Renovation and Addition for Van Meter Community School District - Van Meter IA\Bid Documents

注意倒数第二个目录是作业#/name。我在 Windows 2008 r2 服务器上有数百个这样的路径。每个文件夹中都存在由脚本创建的完全相同的 10 个文件夹组。他们继承了他们的父权限,这很好,除了 10 个文件夹中的 3 个需要一个额外的 acl 权限。我想通过某种脚本添加这个额外的权限。我看过 vbscript,但似乎文件夹路径中的通配符是一种复杂情况,powershell 可以更好地处理,但我真的不确定。

因此,我希望能提供有关选择执行此操作的方法的建议,然后更重要的是帮助构建一个工作脚本。

想法??

【问题讨论】:

  • 欢迎来到 StackOverflow,感谢您提出问题,我们愿意帮助您了解如何最好地使用本网站。首先,我们不是代码编写服务。我们确实编写代码,但我们需要您迈出第一步,至少尝试将一些东西放在一起。我们很乐意帮助解决问题,但我们需要您发布您拥有的代码、您遇到的错误以及您在哪里获得这些错误,我们可以帮助您解决这些错误,或者展示您如何解决这些错误写得更好,以后避免它们。
  • 我对此没有意见,我当然愿意做我的工作。我认为我的帖子清楚地表明我想在进入代码之前获得关于选择哪条路径的建议。我不是水蛭:~)
  • PowerShell 绝对可以满足您的需求。您可能需要使用 Get-ChildItem、Get-ACL 和 Set-ACL。如果您搜索[powershell] acl,可以在此站点上找到设置 ACL 的示例。

标签: powershell vbscript


【解决方案1】:

您的简单答案在于命令行工具。

键入icacls /?for /?

使用 dir 命令可以给你一个匹配的文件夹列表。

dir *partialfoldername* /ad /s /b

将其放入for 循环中。

for /f %A in ('dir *partialfoldername* /ad /s /b) do icacls %A /grant Administrator:F

【讨论】:

  • 谢谢。我将对此进行一些试验,我将在本周晚些时候回复。
猜你喜欢
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 2017-05-31
  • 1970-01-01
  • 2020-09-05
  • 2017-03-03
  • 2013-09-09
相关资源
最近更新 更多