PowerShell — Аудит файлового сервера

Есть много решений для аудите файлового сервера , вот одно из них:

#cat SHARE-audit-delete-files.ps1

$id = @{
 0x10000 = "Delete"
 0x6 = "Write"
 0x2 = "CreateFiles"
    0x12019f = "Write, Read, Synchronize"
}
 
Get-WinEvent -FilterHashtable @{LogName="Security";ID=4663;StartTime=([datetime]::ToDay)} | Where {$_.properties[6].value -match "xlsx$"} | Select `
 @{n="Time";e={$_.TimeCreated.ToString("HH-mm-dd-MM-yyyy")}},
 @{n="UserName";e={$_.properties[2].Value + "/" + $_.properties[1].Value}},
 @{n="Action";e={[Security.AccessControl.FileSystemRights]$_.properties[9].value}},
 @{n="FileName";e={$_.properties[6].value}} | Export-Csv ResultAudit.csv -Encoding UTF8 -NoTypeInformation -UseCulture
 
Send-MailMessage -From share-event-4663@domain.local -To d.kudryavtsev@domain.local -Subject "Informer audita share.domain.local" -Attachments ResultAudit.csv -SmtpServer mail.domain.local

Далее чтобы скрипт работал корректно создал батник и добавил правило в планировщик задач:

#cat ShareAuditDeleteFiles.bat

powershell C:\sysscripts\SHARE-audit-delete-files.ps1

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *