Powershell

PowerShell - 找出誰擁有網路文件夾共享的讀取權限

  • June 24, 2016

在 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\MyTargetMyTarget是我需要查看權限的文件夾。所以完整的路徑是\\FooBar\MainShare\SomeStuff\MyTarget.

共享和共享權限在 MainShare 上設置。如果您想在 \FooBar\MainShare\SomeStuff\MyTarget 上共享權限,那麼您必須直接創建一個新的共享點到該文件夾

引用自:https://serverfault.com/questions/785920