返回

Powershell——目录文件夹管理权限的继承与指定方法

电脑技巧

如何利用 PowerShell 管理目录文件夹权限

了解访问控制列表 (ACL)

Windows 系统中的每个文件和文件夹都有一个访问控制列表 (ACL),记录了允许访问该对象的特定用户和组及其权限级别。ACL 由访问控制项 (ACE) 组成,每个 ACE 指定了一个用户或组的具体访问权限。

PowerShell 命令

PowerShell 提供了一系列命令来管理目录文件夹的权限:

  • Get-Acl: 获取指定目录文件夹的 ACL。
  • Set-Acl: 设置指定目录文件夹的 ACL。
  • New-Acl: 创建一个新的 ACL。
  • Add-AclAccessRule: 向 ACL 添加一个新的 ACE。
  • Remove-AclAccessRule: 从 ACL 中删除一个 ACE。

继承和指定权限

继承权限

目录文件夹的权限通常会继承自其父目录文件夹。如果父目录文件夹授予了对某个用户的访问权限,则子目录文件夹也会拥有相同的访问权限。

指定权限

要指定特定的目录文件夹权限,请执行以下步骤:

  1. 使用 Get-Acl 命令获取该目录文件夹的 ACL。
  2. 使用 New-AclAccessRule 命令创建新的 ACE,指定所需的权限。
  3. 使用 Add-AclAccessRule 命令将新 ACE 添加到 ACL。
  4. 使用 Set-Acl 命令将修改后的 ACL 设置回该目录文件夹。

使用 PowerShell 命令

获取目录文件夹的 ACL

获取目录文件夹 C:\path\to\directory 的 ACL:

Get-Acl C:\path\to\directory

设置目录文件夹的 ACL

将新 ACL 对象 () 设置为目录文件夹 C:\path\to\directory 的 ACL:

Set-Acl C:\path\to\directory -AclObject <new ACL object>

创建新的 ACL

创建新的 ACL:

New-Acl

向 ACL 添加新的 ACE

将具有访问控制类型 ()、标识 () 和权限 () 的 ACE 添加到 ACL 对象 ():

Add-AclAccessRule -AclObject <ACL object> -AccessControlType <access control type> -Identity <identity> -Rights <rights>

从 ACL 中删除 ACE

从 ACL 对象 () 中具有访问控制类型 () 和标识 () 的 ACE:

Remove-AclAccessRule -AclObject <ACL object> -AccessControlType <access control type> -Identity <identity>

常见问题解答

  • 如何授予用户对目录文件夹的完全控制?

使用 Add-AclAccessRule 命令,授予用户完全控制权限。

Add-AclAccessRule -AclObject (Get-Acl C:\path\to\directory) -AccessControlType Allow -Identity <user> -Rights FullControl
  • 如何删除所有用户对目录文件夹的访问权限?

使用 Remove-AclAccessRule 命令删除所有用户 ACE。

Get-Acl C:\path\to\directory | Remove-AclAccessRule -AccessControlType Allow
  • 如何检查目录文件夹的当前权限?

使用 Get-Acl 命令查看目录文件夹的 ACL。

Get-Acl C:\path\to\directory
  • 如何重置目录文件夹的权限?

从父目录文件夹继承权限。

icacls C:\path\to\directory /inheritance:e
  • 如何使用 GUI 管理权限?

在文件资源管理器中右键单击目录文件夹,选择“属性”>“安全”选项卡以管理权限。