Назад | Перейти на главную страницу

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, и MyTarget это папка, для которой мне нужно посмотреть разрешения. Таким образом, полный путь будет \\FooBar\MainShare\SomeStuff\MyTarget.

Общий ресурс и разрешения для общего ресурса устанавливаются на MainShare. Если вам нужны разрешения на общий доступ к \ FooBar \ MainShare \ SomeStuff \ MyTarget, вам придется создать новую точку общего доступа непосредственно в этой папке.