Como posso definir a notificação por email na criação de arquivos no Windows 2003 R2?

1

Cada um dos nossos trabalhos tem uma pasta criada por um arquivo de lote acionado pelo nosso software de contabilidade no momento em que o trabalho é inserido. Nessa pasta está uma subpasta chamada "Imagens de vendas". Eu gostaria de ser notificado por e-mail quando os arquivos são criados em qualquer uma das pastas "Fotos de vendas" em qualquer trabalho. Felizmente eu não preciso voltar e mudar cada uma das 50000 ou mais pastas de fotos de vendas, apenas pastas recém-criadas. Isso é possível no Windows 2003 R2 usando a linha de comando com nenhum software de terceiros ou software livre ou de código aberto?

Obrigado

    
por Albion 29.05.2012 / 17:56

1 resposta

2

Eu não testei a sintaxe mas, acima de tudo, essas linhas do PowerShell devem funcionar:

$query = "Select * from __InstanceCreationEvent WITHIN 5 WHERE TargetInstance ISA 'CIM_DataFile' AND TargetInstance.Drive='C:' AND TargetInstance.Path='\mypath\'"

Register-WmiEvent -Query $ query -Ação {send-mailmessage -to "[email protected]" -de "[email protected]" -subject "novo arquivo" -body "Novo arquivo criado" + ($ event.SourceEventArgs.NewEvent.TargetInstance | Selecione -Expand FileName, Extension, Name)}

Onde mypath é o nome do caminho e você precisará colocar seus próprios endereços de e-mail. Você também pode precisar adicionar o parâmetro -smtpserver se a variável de preferência $ PSEmailServer não tiver sido definida

Isso cria um evento wmi temporário e consumidor - o que significa que funciona enquanto o console estiver aberto. Se você quiser um provedor permanente, pode criar um com o mofcomp ou usar um módulo como powerevents para facilitar a criação do evento. Eventos permanentes sobreviverão às reinicializações, etc.

    
por 29.05.2012 / 18:23