Usando icacls para listar a propriedade de diretórios

13

Estou tentando descobrir se o IIS_IUSRS tem FullControl de certas pastas em diretórios.

Exemplo

Eu tenho c: \ inetpub \ sites \

Em c: \ inetpub \ sites \, tenho cerca de 50 pastas de sites

Em cada pasta eu tenho 3 pastas chamadas uploads, mídia, solicitações.

Gostaria de saber se BUILTIN \ IIS_IUSRS tem FullControl

Alguns problemas, nem todos os sites têm envios, mídia, solicitações, alguns podem ter apenas uploads, mídia ou mídia, solicitações ou apenas mídia, etc.

Alguns comandos que tentei usar o 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"

Eu gostaria de modificar isso para procurar BUILTIN \ IIS_IUSRS como o usuário

    
por Anthony Fornito 20.11.2014 / 18:32

1 resposta

8

Correndo o risco de se prostituir descaradamente, aqui está um arquivo de lote que retornará quaisquer diretórios com o nome 'BUILTIN \ IIS_IUSRS "com a permissão" Full Control "(com objeto e recipiente herdados habilitados):

@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

Execute isso no seu diretório de nível superior. Ele mostrará os diretórios que encontrar com a permissão que você está procurando.

    
por 21.11.2014 / 08:20