如何使用 PowerShell 获取共享文件夹权限?

powershellmicrosoft technologiessoftware & coding

要使用 PowerShell 获取共享文件夹权限,我们可以使用 Get-SmbShare cmdlet。

例如,我们有一个名为 DSC 的共享文件夹,我们需要检索其权限,我们可以使用以下命令。

命令

Get-SmbShare -Name DSC

输出

Name ScopeName Path Description
---- --------- ---- -----------
DSC       *   E:\DSC

默认情况下不显示权限,我们可以使用 Fl *获取完整列表。例如:

Get-SmbShare -Name DSC | fl *

您可以在那里看到 PresentPathACL 属性。此属性用于获取共享文件夹的权限。因此,我们可以直接使用以下命令:

命令

(Get-SmbShare -Name DSC).PresetPathAcl

输出

Directory: E:\
Path Owner                   Access
---- -----                   ------
DSC BUILTIN\Administrators   Everyone Allow ReadAndExecute, Synchronize

要从远程计算机获取共享文件夹权限,请使用:

Invoke-Command -ComputerName Labmachine2k16 -ScriptBlock {
   Get-SmbShare -Name DSC} | Select -ExpandProperty PresetPathAcl

另一个直接使用的命令是 Get-SmbShareAccess

命令

Get-SmbShareAccess -Name "Shared folder"

输出

PS C:\Temp> Get-SmbShareAccess -Name "Shared folder"
Name          ScopeName AccountName AccessControlType AccessRight
----          --------- ----------- ----------------- -----------
Shared folder    *       Everyone          Allow          Read

相关文章