|
Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2016/2019/2022 » 2019 - Отслеживание удаление файлов |
|
2019 - Отслеживание удаление файлов
|
Ветеран Сообщения: 961 |
Профиль | Отправить PM | Цитировать Уже третий раз, сотрудники обращаются, что каким то чудным образом из шары, который лежит на F: диске, под управлением Windows 2019 server, удаляются/теряются файлы.
то есть есть папка, где имеют доступа отдел из 10-и человек, там у каждого свои именные папки есть, и вот, в одном из этих папок пропадают или целые каталоги с файлами или единичные файлы. Пытался посмотреть через прогу "recuva", но ничего не находит удаленных с этого диска. Может есть встроенные средства отслеживание за файлами? кто удалил и когда. Может аудит надо включить? ну чтоб на производительность сервера не влияло. |
|
Отправлено: 09:44, 09-08-2023 |
Ветеран Сообщения: 7201
|
Профиль | Отправить PM | Цитировать krec, может, их тупо переносят мышью в другие папки? (у меня так было неоднократно, "Усё пропало, файла нет, стёрли!!!! Аааа!!!". Смотришь в поиске - а вот он, в другой папке лежит.... Ну у меня-то samba с настроенным аудитом, можно посмотреть, кто и когда что делал... Как в 2019 - не подскажу )
|
------- Отправлено: 11:16, 09-08-2023 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 961
|
Профиль | Отправить PM | Цитировать dmitryst, да, такой вариант тоже рассмотрел, делал поиск и по файлам, и по типу/расширению, нет ничего.
|
Отправлено: 11:33, 09-08-2023 | #3 |
Ветеран Сообщения: 7201
|
Профиль | Отправить PM | Цитировать krec, ну тогда пробуйте как-то так
|
------- Отправлено: 11:45, 09-08-2023 | #4 |
Ветеран Сообщения: 2109
|
Профиль | Отправить PM | Цитировать Цитата krec:
|
||
------- Отправлено: 12:01, 09-08-2023 | #5 |
Ветеран Сообщения: 961
|
Профиль | Отправить PM | Цитировать понял, спасибо, попробую. А без AD пойдет?
У нас просто AD нету. Но на сервере есть учетные записи, от локальных машин, по которым они подключаюся к шарам на сервере. |
Отправлено: 16:11, 09-08-2023 | #6 |
Ветеран Сообщения: 7201
|
Профиль | Отправить PM | Цитировать Цитата krec:
|
|
------- Отправлено: 16:15, 09-08-2023 | #7 |
Ветеран Сообщения: 508
|
Профиль | Отправить PM | Цитировать Делал по этой статье для английской версии Windows Server 2016, удаления пишутся в текстовые файлы, поиск по журналу каждые 10 минут (чтобы размазывать нагрузку). Файлы с записями об удалениях складываются в папку D:\.FileLog в подкаталоги ГГГГ\ММ\ДД. Есть ещё параллельная запись в MS SQL, но я убрал этот вариант, на первое время хватит и текстовиков. Конечно же, включен аудит успешных удалений от корня шары. Включены теневые копии для быстрого восстановления.
В строке SHARE — то название корневого каталога на файловом сервере, а DFS01 — имя самого файлового сервера. Эти значения замените своими. $Time = (Get-Date) - (New-Timespan -Min 10) $BodyL = "" # $Events - содержит время и порядковый номер записи евента с ID=4660. И сортируем по порядковому номеру. # При удалении файла создается сразу 2 записи, с ID=4660 и ID=4663. $Events = Get-WinEvent -FilterHashtable @{LogName = "Security"; ID = 4660; StartTime = $time } | Select TimeCreated, @{n = "Record"; e = { ([xml]$_.ToXml()).Event.System.EventRecordID } } | sort Record $TimeSpan = New-TimeSpan -sec 1 foreach ($event in $events) { $PrevEvent = $Event.Record $PrevEvent = $PrevEvent - 1 $TimeEvent = $Event.TimeCreated $TimeEventEnd = $TimeEvent + $TimeSpan $TimeEventStart = $TimeEvent - (New-Timespan -sec 1) $Body = Get-WinEvent -FilterHashtable @{LogName = "Security"; ID = 4663; StartTime = $TimeEventStart; EndTime = $TimeEventEnd } | ? { ([xml]$_.ToXml()).Event.System.EventRecordID -match "$PrevEvent" } | ? { ([xml]$_.ToXml()).Event.EventData.Data | ? { $_.name -eq "ObjectName" } | ? { ($_.'#text') -notmatch ".*tmp" } | ? { ($_.'#text') -notmatch ".*~lock*" } | ? { ($_.'#text') -notmatch ".*~$*" } } | select TimeCreated, @{n = "File_"; e = { ([xml]$_.ToXml()).Event.EventData.Data | ? { $_.Name -eq "ObjectName" } | % { $_.'#text' } } }, @{n = "User_"; e = { ([xml]$_.ToXml()).Event.EventData.Data | ? { $_.Name -eq "SubjectUserName" } | % { $_.'#text' } } } if (($Body -match ".*SHARE*") -and ($Body.User_ -notmatch 'DFS01*')) { $LocalTime = ($Body.TimeCreated).ToString("yyyy-MM-dd HH:mm:ss") $BodyL = $BodyL + $LocalTime + "`t" + $Body.File_ + "`t" + $Body.User_ + "`n" } } $Hour = $Time.ToString("HH") $Day = $Time.ToString("dd") $Month = $Time.ToString("MM") $Year = $Time.Year $name = "DeletedFiles-" + $Year + $Month + $Day + "-" + $Hour + ".txt" $YearF = "D:\.FileLog\" + $Year $MonthF = $YearF + "\" + $Month $DayF = $MonthF + "\" + $Day $folders = $YearF, $MonthF, $DayF foreach ($sub in $folders) { if (!(Test-Path $sub)) {New-Item -Path $sub -ItemType Directory} } $Outfile = $DayF + "\" + $name $BodyL | Out-File $Outfile -Append |
Отправлено: 22:42, 10-10-2023 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Отслеживание и перезапуск нескольких файлов в одной программе | iezekiil | Скриптовые языки администрирования Windows | 2 | 15-02-2021 02:21 | |
Безвозратное удаление и удаление файлов не удаляемых штатными средствами. | Михайло | Хочу все знать | 14 | 08-08-2017 20:46 | |
CMD/BAT - Удаление файлов старше N дней в подпаках, кроме файлов в самой папке | Negtm | Скриптовые языки администрирования Windows | 4 | 03-02-2017 15:30 | |
CMD/BAT - [решено] Удаление файлов нулевого размера, а затем удаление пустых каталогов | ilyadud | Скриптовые языки администрирования Windows | 5 | 25-08-2012 10:57 | |
CMD/BAT - bat файл - отслеживание скопированных файлов | r1k | Скриптовые языки администрирования Windows | 1 | 26-05-2011 13:38 |
|