Аудит NTFS разрешений на PowerShell

Powershell LogoПри работе с файловыми ресурсами мой самый нелюбимый процесс это документирование существующих разрешений на папки и анализ того что было и что стало. Иначе выражаясь проведение аудита не тот процесс который мне нравиться и надо каким то образом было упростить это действо.

Мой подопытный – файловый сервер на основе Windows Server 2003 (по большому счету значения это никакого не имеет) с набором неких общих папок.

По старой традиции на помощь приходит PowerShell.

Кратко о приведенном ниже скрипте.

В переменной $folder задается имя анализируемой папки, далее производится анализ всех дочерних папок и результат пишется в файл D:\Reports\FolderReport.csv

# get-FolderPermissions.ps1

$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

# get-FoldersPermissions2.ps1

$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.

Если Вам понравилась статья, то вы можете подписаться на RSS.
А также бесплатно подписаться по E-mail и получать актуальную информацию в числе первых.

Получать обновления на email

Вы можете оставить комментарий.

21 Комментариев »

 
 

Добавить комментарий

XHTML: Вы можете использовать тэги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>