使用 icacls 列出目录的所有权

使用 icacls 列出目录的所有权

我试图找出 IIS_IUSRS 是否对目录下的某些文件夹具有完全控制权。

例子

我有 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 作为用户

答案1

冒着无耻地重复的风险,这里有一个批处理文件,它将返回任何名为“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

在顶层目录中运行此命令。它将输出找到的所有具有所需权限的目录。

相关内容