【问题标题】:Script for preventing file change or deletion on Windows share用于防止 Windows 共享上的文件更改或删除的脚本
【发布时间】:2017-10-09 12:36:21
【问题描述】:

我们需要在 24 小时后锁定共享文件夹中的所有文件。用户将文件上传到该文件夹​​,并且需要能够在 24 小时内进行编辑。之后,文件应该被锁定,不能更改或删除。他们仍然可以向该文件夹添加更多文件,只是不更改现有文件。

我们目前在 Linux 共享上通过使用在文件上设置不可变标志的 cron 作业来执行此操作。我们需要将此共享移动到 Windows,因此这不是一个选项。

关于如何实现这一点的任何想法?

【问题讨论】:

  • 您可以在计划任务中使用Set-Acl 来执行与使用 cron 作业相同的操作,但它比添加不可变更复杂,您需要单独编辑每个文件以确保除了管理员帐户或其他人之外,没有人拥有修改/写入权限。
  • 使用两个共享更容易。第一个用户可以写,后一个是只读的。计划的作业将仅复制对 RO 共享的允许更改。
  • 这是我们考虑的选项之一,仅使用 2 个共享。必须稍微改变工作流程,但总的来说这可能是一个更好的方法。谢谢

标签: file powershell share


【解决方案1】:

因此,您必须跟踪谁添加了文件以及何时添加。并且您的脚本需要 24x7 轮询此共享。根据跟踪数据,您可以将该特定文件的权限更改为“只读”。这将阻止进一步的更改。您还必须确保新添加的文件具有活动的更改权限,直到 24 小时后被脚本重写。很脏但可行。

【讨论】:

  • 我注意到即使更改“只读”属性也不能阻止文件被删除。我无法更新或重命名该文件,但我仍然能够从该共享中删除该文件。
  • 您始终可以对文件使用高级安全权限,并为“所有人”设置拒绝删除。虽然我还没有真正研究过如何通过 PowerShell 做到这一点。我应该是可能的。
猜你喜欢
  • 1970-01-01
  • 2023-03-08
  • 2018-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
相关资源
最近更新 更多