Eu tenho o Histórico de Tarefas habilitado no Agendador de Tarefas e estou querendo saber se há uma maneira de excluir entradas na guia Histórico de Tarefas para uma tarefa específica.
Caso em questão: estou tentando diagnosticar um problema e só quero ver as entradas mais recentes. Eu não me importo com todos esses dados históricos.
Conforme inspirado na lógica do PowerShell usada na tarefa Get-scheduled para ver o histórico de mais do que a última postagem de execução, usando get-winevent e o
-FilterXml
parâmetro junto com o caminho completo e o nome da tarefa, você pode obter os dados do histórico de tarefas de uma tarefa específica desde os últimos x segundos, minutos, horas, dias, etc.Você pode usar where-object junto com as
TimeCreated
propriedades dos dados do evento para obter apenas dados de uma data ou período de tempo específico.Use get-date e coloque um parêntese em torno dele e, em seguida, escolha um dos métodos "
.add
"hours()
,minutes()
e assim por diante com a para menos 1 da data atual, por exemplo, onde 1 pode ser qualquer número a ser subtraído da data atual .days()
-1
.AddHours(-1)
Use Get-ScheduledTasks para obter o caminho completo e o nome da tarefa específica a ser colocada na parte
-FilterXml
para especificar o nome da tarefa.PowerShell Parte 1
Resultado
Observação: esse valor acima será copiado para o PowerShell abaixo.
PowerShell Parte 2
Insira a saída do comando acima no valor entre aspas simples na
*[EventData/Data[@Name='TaskName']='output goes here']
linha abaixo.Resultado
Recursos de apoio
Get-WinEvent
Tarefas Agendadas
Onde-objeto