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

[玩转系统] 如何使用 PowerShell 获取文件所有者

作者:精品下载站 日期:2024-12-14 16:44:57 浏览:13 分类:玩电脑

如何使用 PowerShell 获取文件所有者


要使用 PowerShell 获取文件所有者,请将文件路径传递给 PowerShell 中的 Get-Acl cmdlet。 Get-Acl cmdlet 返回有关文件的信息,可用于确定文件所有者。

在本文中,我们将讨论如何在 Windows 中获取文件,并使用 PowerShell Get-Acl cmdlet 列出文件所有者。

使用 PowerShell 查找文件的所有者

要使用 PowerShell 获取文件所有者,请使用 Get-Acl cmdlet。 Get-Acl cmdlet 返回有关文件或资源的安全描述符信息。

它指定用户或组访问文件或资源的权限。

Get-Acl D:\LogTest\FTP-02\get-log.py

在上面的 PowerShell 脚本中,我们使用了 Get-Acl cmdlet 并提供了文件的路径来获取文件的所有者。

Get-Acl 返回文件信息和文件所有者,如下所示:

[玩转系统] 如何使用 PowerShell 获取文件所有者

酷提示:如何在 PowerShell 中搜索文件!

在上面的输出中,它显示了文件信息,例如路径、所有者和访问权限。但是,如果您想要获取文件的所有者,请将 Get-Acl cmdlet 的结果通过管道传输到 Select-Object cmdlet。

Get-Acl D:\LogTest\FTP-02\get-log.py | Select-Object Owner

使用“选择对象所有者”属性,它将显示文件所有者,如下所示。

PS D:\> Get-Acl D:\LogTest\FTP-02\get-log.py | Select-Object Owner                                                      
Owner
-----
ShellGeek\Admin

如果要检查文件或资源的安全描述符,请将 Get-Acl cmdlet 结果通过管道传输到 Format-List cmdlet。

Get-Acl D:\LogTest\FTP-02\get-log.py | Format-List 

上述 PowerShell 脚本的输出显示文件所有权、路径和访问权限,如下所示:

Path   : Microsoft.PowerShell.Core\FileSystem::D:\LogTest\FTP-02\get-log.py
Owner  : ShellGeek\Admin
Group  : ShellGeek\Domain Users
Access : BUILTIN\Administrators Allow  FullControl
         NT AUTHORITY\SYSTEM Allow  FullControl
         NT AUTHORITY\Authenticated Users Allow  Modify, Synchronize
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
Audit  :
Sddl   : O:S-1-5-21-1417001333-1682526488-839522115-287135G:DUD:(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1301bf;;;AU)(A;ID;0x1200a9;;;BU)

酷提示:如何使用 PowerShell 列出目录中的文件!

使用 PowerShell 列出文件所有者

要列出指定文件夹中所有文件的文件所有者,请使用带有 Recurse 参数的 Get-ChildItem cmdlet 以递归方式获取文件夹中的项目。

Get-ChildItem cmdlet 结果通过管道传输到 foreach-object 以迭代文件对象,从而使用 PowerShell 中的 Get-Acl cmdlet 获取文件所有者。

Get-ChildItem D:\LogTest\FTP-02\ -recurse | ForEach-Object{Get-Acl $_.FullName} 

上面的 PowerShell 脚本列出了指定文件夹路径中所有文件的文件所有者。

PS D:\> Get-ChildItem D:\LogTest\FTP-02\ -recurse | ForEach-Object{Get-Acl $_.FullName}                                 

    Directory: D:\LogTest\FTP-02


Path                     Owner                                       Access
----                         -----                                            ------
get-log.py           ShellGeek\Admin                    BUILTIN\Administrators Allow  FullControl...
test.txt                ShellGeek\Admin                    BUILTIN\Administrators Allow  FullControl...
srtp.py                ShellGeek\Admin                    BUILTIN\Administrators Allow  FullControl...

酷提示:如何在 PowerShell 中获取文件版本!

结论

希望上面有关在 PowerShell 中使用 Get-Acl cmdlet 获取文件所有者和列出文件所有者的文章对您有所帮助。

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

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

取消回复欢迎 发表评论:

关灯