【问题标题】:File permissions not changed during moved from one folder to another one从一个文件夹移动到另一个文件夹期间文件权限未更改
【发布时间】:2020-07-10 07:34:46
【问题描述】:

在 D 盘:

FolderA 包含一个 PDF 文件,用户 Mr John 拥有此文件夹和文件的完全权限。 我们需要将此文件自动移动到文件夹 B,John 先生在该文件夹中无法编辑该文件。

我将 power shell 脚本编写为: 移动项目 -Path D:\FolderA*.PDF* -Destination D:\FolderB\ -Force

文件自动移动到文件夹B,但文件夹A的权限仍然出现!表示 John 先生被限制在 FolderB 中,但在移动文件后他可以编辑它。

这是问题所在,我希望在将文件从 FolderA 移动到 FolderB 之后,应应用文件夹 B 的权限仅意味着 John 先生无法编辑文件。

请帮忙。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    去年我遇到了类似的继承问题,我将许多大文件从一个驱动器移动到另一个驱动器。

    通过分别为每个文件再次应用 ACL 解决了这个问题。

    $file | Get-Acl | Set-Acl
    

    “为什么”的答案仍然悬而未决…… 猜猜它与文件句柄和锁有关。 在 PS 控制台窗口仍然打开的情况下,在该服务器上(驱动器之间)移动文件后访问文件也存在一些问题。关闭后,文件就可以访问了。

    希望这对你来说仍然是一种合理的方式。

    【讨论】:

      【解决方案2】:

      根据the docs默认情况下,对象从其父对象继承权限,无论是在创建时,还是在复制或移动到其父文件夹时。当您将对象移动同一卷上的不同文件夹时,此规则的唯一例外情况会发生。在这种情况下,会保留原来的权限。

      不要使用 FolderA 中的 Move-Item,而是对 FolderB 执行 Copy-Item,完成后从 FolderA 中删除原始文件

      【讨论】:

      • 但我们不想将文件保留在 FolderA 中,因为它不是必需的。
      • @MOHDSHEZAN 这就是为什么我以 “完成后从 FolderA 中删除原始文件”结束我的回答(--->使用Remove-Item
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 2010-11-21
      相关资源
      最近更新 更多