PowerShell – 找出谁有networking文件夹共享的读取权限

在Windows Server&Active Directory环境中,只有特定的AD用户/组共享特定的networking共享。 有没有办法,使用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\MyTargetMyTarget是我需要查看权限的文件夹。 所以完整path将是\\FooBar\MainShare\SomeStuff\MyTarget

共享和共享权限在MainShare上设置。 如果你想共享\ FooBar \ MainShare \ SomeStuff \ MyTarget的权限,那么你将不得不直接创build一个新的共享点到那个文件夹