Я попытался прочитать разрешения из разных папок с помощью командлета Get-ACL
.
Он работает хорошо, и я могу видеть авторизованных пользователей с помощью Get-ACL $path | %{$_.Access}
. Но я заметил, что некоторые разрешения отсутствуют.
Если я вхожу в любые папки properties > Security (Tab) > Advanced
Я могу видеть соответствующие разрешения и то, к чему они относятся.
Некоторые разрешения устанавливаются как nothing
, и они не показаны Get-ACL
.PowerShell - Get-ACL не возвращает все разрешения
Это приводит меня к моему вопросу:
Есть ли способ зачитать поле Applies to
acl?
Я попытался использовать функцию .NET [System.IO.Directory]::GetAccessControl()
, но не предоставил эту информацию.
Любая помощь или подсказка высоко оценены!
EDIT:
Чтобы прояснить этот вопрос, я взял несколько скриншотов:
Это показывает разрешение, установленное для применения к «ничего».
Кажется, что это ошибка, так как я не могу выбрать «ничего» для любой другой записи разрешения.
И это списки доступа, возвращаемый через Powershell ("OWNER RIGHTS" отсутствует):
Я добавил несколько скриншотов, чтобы показать проблему. «Nothing» кажется недопустимым значением indedd, но оно каким-то образом установлено (как вы можете видеть на скриншоте). Это действительно странная ситуация ... –
Права владельца являются специальными. Вероятно, вы изменили владельца на ресурсе, который установит права прав владельца на Nothing (что отключает правило). По крайней мере, согласно этому http://m.windowsitpro.com/article/security/acl-enhancements-in-windows-vista-and-windows-server-2008-102871. Я не знаю, как это показать. : -/ –
Может быть, нет способа показать эти записи ... Спасибо за вашу помощь! –