Você deve conseguir fazer isso com um script em lote simples, no qual executa repetidamente dir /b /a:h
e, em seguida, avalia o nível de erro. A opção /b
é opcional, mas mostra a saída do diretório em um formato mínimo.
Quando você executar este comando, ele retornará um ERRORLEVEL de 1 quando nenhum arquivo oculto for encontrado, que é o que você deseja. Se um arquivo estiver oculto, ele retornará um ERRORLEVEL de 0, o que você não deseja, e é aí que você pode disparar algo.
Agora, isso não vai te dizer quem escondeu o arquivo, mas se você ligar com frequência suficiente (digamos a cada 30 segundos), então você terá pelo menos um período de tempo para quando isso aconteceu, e então você deve poder para correlacioná-lo com 4663 eventos que ocorreram em torno desse tempo. Eu estou supondo que você já tem auditoria nesta pasta?
Você pode chamar esse script com qualquer agendador, embora esse seja realmente um bom cenário para o utilitário EventSentry Light que tem um built-in agendador que pode acionar alertas de e-mail com base no nível de erro de qualquer script executado. Inclusive inclui a saída do script. Esse recurso é chamado de "agendador de aplicativos". É claro que você também pode escrever seu próprio script e disparar um email com o PowerShell, VBScript ou algo parecido com o blat.exe.
A parte de auditoria pode ser mais complicada se a auditoria do Windows não for granular o suficiente para capturar alguém apenas ocultando um arquivo. Mas, mesmo assim, a auditoria na pasta pai deve mostrar alguma atividade, como listagem de diretório, por exemplo.