使用 icacls 列出目录的所有权

Ant*_*ito 13 powershell windows-server-2012

我试图找出 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"
Run Code Online (Sandbox Code Playgroud)

我想修改它以查找 BUILTIN\IIS_IUSRS 作为用户

Eva*_*son 8

冒着无耻的恶作剧的风险,这里有一个批处理文件,它将返回任何名为“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
Run Code Online (Sandbox Code Playgroud)

在您的顶级目录中运行它。它将输出它找到的具有您正在寻找的权限的任何目录。