当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell - 获取文件夹和子文件夹的权限

作者:精品下载站 日期:2024-12-14 05:28:25 浏览:13 分类:玩电脑

PowerShell - 获取文件夹和子文件夹的权限


[玩转系统] PowerShell - 获取文件夹和子文件夹的权限

要了解如何在 PowerShell 中获取文件夹和子文件夹的权限,您必须首先了解什么是文件夹和子文件夹权限。文件夹的权限确定谁可以访问和修改文件和文件夹。子文件夹权限是为包含其他文件夹的文件夹设置的权限。通常,除非您另行指定,否则对文件夹设置的权限将传播到任何子文件夹。

可以为用户或组设置权限,例如管理员用户访客。权限包括完全控制修改读取和执行列出文件夹内容读取 和写入。要进一步进行,了解当前目录中的文件夹和子文件夹至关重要。例如,本文的当前工作目录位于C:\Test

C:\Test 包含两个文本文件(File1.txtFile2.txt)和文件夹(FolderG)和 FolderH)。每个文件夹中的项目包括以下内容:

  • C:\Test\FolderG - 它包含两个文本文件(File1.txtFile6.txt)。
  • C:\Test\FolderH - 它有一个文本文件 (File6.txt)。

现在您已经了解了目录的详细信息,让我们继续学习如何获得许可。

使用 Get-Acl 命令

使用Get-Acl命令获取PowerShell中指定文件夹的权限。 Get-Acl cmdlet 用于获取文件和文件夹的访问控制列表(ACL)。

使用 Get-Acl 命令:

Get-Acl -Path "C:\Test"

输出 :

Path  Owner                Access
----  -----                ------
Test DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...

在上面的代码中,Get-Acl cmdlet 用于获取包含为该文件或文件夹设置的权限的文件或文件夹的访问控制列表 (ACL)。

如果您注意到的话,您会在 FullControl 之后看到 ...,因为它没有显示完整的文本。

要获取完整文本,请使用带有 -wrap 选项的 Format-table cmdlet。

这是一个例子:

使用 Get-Acl 命令:

Get-Acl -Path "C:\Test"|Format-table -wrap

输出 :

Path  Owner                Access
----  -----                ------
Path       Owner                 Access
----       -----                 ------
powershell DESKTOP-MDAC0NJ\user NT AUTHORITY\SYSTEM Allow  FullControl
                                 BUILTIN\Administrators Allow  FullControl
                                 DESKTOP-MDAC0NJ\user Allow  FullControl

获取当前工作目录的权限

要获取当前工作目录的权限,只需使用不带任何参数的 get-acl cmdlet 即可。它将为您提供当前工作目录的访问控制列表。

使用 Get-Acl 命令:

Get-Acl

输出 :

Path  Owner                Access
----  -----                ------
Test DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...

Get-ChildItemGet-Acl Cmdlet 结合使用

Get-ChilditemGet-Acl cmdlet 结合使用,获取 PowerShell 中文件夹和子文件夹的权限。

使用 Get-ChildItem Cmdlet:

Get-ChildItem -Path "C:\Test" -Recurse | Get-Acl

输出 :

Directory: C:\Test
Path      Owner                Access
----      -----                ------
FolderG   DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...
FolderH   DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...
File1.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...
File2.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...   

Directory: C:\Test\FolderG
Path      Owner                Access
----      -----                ------
File1.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...
File6.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...

Directory: C:\Test\FolderH
Path       Owner                Access
----      -----                ------
File6.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow  FullControl...

在上面的代码中,Get-ChildItem cmdlet 检索指定文件夹中的子项(文件和目录)集合。 -Path 参数指定要搜索的文件夹的路径,即C:\Test-Recurse 参数指示该命令还应递归搜索所有子文件夹。

| 管道运算符获取 Get-ChildItem 命令的输出,并将其作为输入发送到管道中的下一个命令。 Get-Aclcmdlet 检索输入对象的访问控制列表 (ACL)、Get-ChildItem 命令返回的每个文件和目录。

此命令的输出显示为每个文件和目录设置的权限,包括具有访问权限的用户和组的名称以及他们具有的访问级别。

考虑到上述解决方案,了解文件夹和子文件夹权限对于有效设置和管理权限至关重要。使用 Get-AclGet-ChildItem,您可以轻松获取和导出 PowerShell 中文件夹和子文件夹的权限。通过这些示例,您可以自信地开始管理文件夹和子文件夹权限。

这就是如何在 PowerShell 中获取文件夹和子文件夹的权限。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯