Цитата HLT:
как найти папки/файлы с потерянными правами? »
|
1. Создать список потерянных SID'ов в текстовом файле, например при помощи
CACLS, хотя у меня почему-то твой пример вместо SID выдает "
<Домен для учетной записи не найден>"
;
2. С помощью
SUBINACL для каждого SID найти файлы;
3. С помощью того же
SUBINACL удалить "левый" ACE.
Вот пример скрипта для п.2 и 3 - он не правит ACL, а только формирует команду... Т.е. можно вывести все в
CMD-файл, проверить и только потом запустить на выполнение:
Код:
@echo off
SetLocal EnableDelayedExpansion
:: файл со списком SID и путь к корню/маска
SET SIDF=SIDs.txt
SET MASK=D:\Share\*
For /F "Tokens=* Delims=" %%i In (%SIDF%) Do (
subinacl /noverbose /outputlog="%~n0.tmp" /subdirec %MASK% /findsid=%%i /display=dacl
CALL :SUPRESS_SID "%%i"
)
:: =
EXIT
:SUPRESS_SID
:: ---
For /F "UseBackQ Tokens=* Delims=" %%A In (`Type %~n0.tmp^|Find "+File"`) Do (
SET LINE_SHIFT=!LINE!
SET LINE=%%A
IF NOT "!LINE!"=="!LINE_SHIFT!" (
SET FILE=!LINE:~6!
@echo subinacl /file "!FILE!" /suppresssid="%~1"
)
)
:: ---
GOTO :EOF
Цитата Pili:
ещё бы наоборот, найти утилиту, позволяющую собрать инф-ию по пользователям на права в директориях »
|
можно постановку задачи конкретней?