Id do evento 4659: Um identificador para um objeto foi solicitado com a intenção de excluir.
Filtros de exemplo:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[(EventID=4659)]] and *[EventData[Data[@Name='ObjectName']='C:\SomeDirectory\DeletedFileName.ext']]</Select>
</Query>
</QueryList>
<QueryList>
<Query Id="0" Path="file://C:\SomeDirectory\Security.evtx">
<Select Path="file://C:\SomeDirectory\Security.evtx">*[System[(EventID=4659)]] and *[EventData[Data[@Name='ObjectName']='C:\SomeDirectory\DeletedFileName.ext']]</Select>
</Query>
</QueryList>
Are the IDs 4663,4624,5140, and 4660 really accurate for deleted files?
Não.
4624: uma conta foi registrada com sucesso no
5140: um objeto de compartilhamento de rede foi acessado
4660: não contém o nome do objeto excluído
4663: Funciona para exclusões locais
Exemplo do PowerShell:
Get-WinEvent -ComputerName CONTOSOFP1 -LogName Security -FilterXPath "*[System[(EventID=4659)]] and *[EventData[Data[@Name='ObjectName']='C:\SomeDirectory\DeletedFileName.ext']]" | Format-List -Property *
Get-WinEvent -Path C:\SomeDirectory\Security.evtx -FilterXPath "*[System[(EventID=4659)]] and *[EventData[Data[@Name='ObjectName']='C:\SomeDirectory\DeletedFileName.ext']]" | Format-List -Property *