PowerShell - 找出谁对网络文件夹共享具有读取权限

PowerShell - 找出谁对网络文件夹共享具有读取权限

在 Windows Server 和 Active Directory 环境中,特定网络共享仅与某些 AD 用户/组共享。有没有办法使用 PowerShell 找出谁对此共享具有读取权限?我尝试按照这个帖子,但收到错误,如下面的代码示例后所示。

下面是我用来尝试此操作的示例 .ps1 代码:

$cred = Get-Credential -Credential mydomain\myself
$share = "MyTarget"
$cn = "FooBar"

$query = "Associators of {win32_LogicalShareSecuritySetting='$share'} 
    Where resultclass = win32_sid"

Get-WmiObject -query $query -cn $cn -cred $cred | 
    Select-Object -Property @{LABEL="User";EXPRESSION=
        {"{0}\{1}" -f $_.ReferencedDomainName, $_.AccountName}}, SID

错误信息如下:

Get-WmiObject : Not found 
At line:8 char:1
+ Get-WmiObject -query $query -cn $cn -cred $cred |
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], ManagementException
    + FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

更新:根据下面的评论,我发现我正在寻找的共享是子夾实际命名共享,向下 2 层。使用 PowerShell 的这一行查找该服务器的命名共享:

Get-WmiObject -ComputerName "FooBar" -Class win32_LogicalShareSecuritySetting | select PATH

例如:计算机名称为FooBar。列出的众多共享之一是MainShare。在该文件夹下,我们转到\SomeStuff\MyTarget,然后我的目标是我需要查看其权限的文​​件夹。因此完整路径应该是\\FooBar\MainShare\SomeStuff\MyTarget

答案1

共享和共享权限在 MainShare 上设置。如果您想要在 \FooBar\MainShare\SomeStuff\MyTarget 上共享权限,那么您必须直接在该文件夹中创建一个新的共享点

相关内容