Аудит NTFS разрешений на PowerShell
При работе с файловыми ресурсами мой самый нелюбимый процесс это документирование существующих разрешений на папки и анализ того что было и что стало. Иначе выражаясь проведение аудита не тот процесс который мне нравиться и надо каким то образом было упростить это действо.
Мой подопытный – файловый сервер на основе Windows Server 2003 (по большому счету значения это никакого не имеет) с набором неких общих папок.
По старой традиции на помощь приходит PowerShell.
Кратко о приведенном ниже скрипте.
В переменной $folder задается имя анализируемой папки, далее производится анализ всех дочерних папок и результат пишется в файл D:\Reports\FolderReport.csv
$folder = "\\FILESRV-01\ShareName\"
$in = Get-ChildItem $folder | where {$_.extension -eq ""}
$result = foreach($res in $in) {
$s = get-acl $res.fullname
foreach($inherit in $s.Access) {
$inherit | add-member -membertype noteproperty -name Path -value $res.fullname -passthru |
select Path, IsInherited, IdentityReference, filesystemrights
}
}
$result | Export-Csv -Encoding "Unicode" -Path "D:\Reports\FolderReport.csv" -Delimiter ","
Несколько расширенный второй вариант скрипта, отличие от первого в том что список папок он берет из файла folders.txt и затем создает csv-отчеты в папке $reportFolder
$folders = Get-Content "folders.txt"
$reportFolder = "D:\Reports\"
foreach ($folder in $folders) {
$source = Get-ChildItem $folder | where {$_.extension -eq ""}
$result = foreach($res in $source) {
$s = Get-Acl $res.fullname
foreach($inherit in $s.Access) {
$inherit | Add-Member -membertype noteproperty -name Path -value $res.fullname -passthru | Select Path, IsInherited, IdentityReference, filesystemrights
}
}
$logName = $folder.Replace("\", "_")
$logName = $LogName.Replace(":", "")
$result | Export-Csv -Encoding "Unicode" -Path "$($reportFolder)report_$logName.csv" -Delimiter ","
}
Надеюсь что предложенный инструмент будет вам полезен.
Комментарии и замечания приветствуются.
Похожие статьи
Информация об авторе
|
|
Сергей Мариничев. Вы можете присоединиться ко мне в Facebook или в Twitter. |
А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.
Вы можете оставить комментарий.
Всем спасибо! Нашел шикарную программу для этой задачи:
ScriptLogic Security Explorer v.6.60
Кроме экспорта нтфс прав в access, есть еще куча всяких полезностей!
Андрей ГончаровЦитировать
не видел.
Будет время гляну.
Сергей МариничевЦитировать