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

Использование icacls для вывода списка владельцев каталогов

Я пытаюсь выяснить, есть ли у IIS_IUSRS FullControl для определенных папок в каталогах.

пример

У меня c: \ inetpub \ sites \

В c: \ inetpub \ sites \ у меня около 50 папок сайта

В каждой папке у меня есть 3 папки: загрузки, медиа, запросы.

Я хотел бы узнать, есть ли у BUILTIN \ IIS_IUSRS FullControl

Пара проблем. Не на всех сайтах есть загрузки, медиа, запросы, некоторые могут содержать только загрузки, медиа или медиа, запросы или просто медиа и т. Д.

Несколько команд, которые я пробовал использовать с Powershell.

Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "media"

Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "uploads"

Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "requests"

Я хотел бы изменить это, чтобы искать BUILTIN \ IIS_IUSRS как пользователь

Рискуя бессовестно переспрашивать, вот командный файл, который будет возвращать все каталоги с именем «BUILTIN \ IIS_IUSRS» с разрешением «Полный доступ» (с включенным наследованием объектов и контейнеров):

@echo off
for /f "usebackq delims=" %%i in (`dir /ad /s /b`) do call :df "%%i"
goto :EOF

:df
icacls %1 | find /i "BUILTIN\IIS_IUSRS:(OI)(CI)(F)" >NUL 2>NUL
if not errorlevel 1 echo %~1

Запустите это в своем каталоге верхнего уровня. Он выведет все найденные каталоги с нужным вам разрешением.