Essa não é a única maneira de conseguir isso. Há realmente uma maneira muito melhor que funciona no Windows Server 2008, no mínimo:
link
Para resumir, você precisa exportar a definição de tarefa para xml, adicionar algumas consultas de xpath aos dados que deseja em um editor de texto, atualizar sua linha de comando e depois importar sua definição de tarefa atualizada para o agendador de tarefas.
Uma vez exportado, abra o arquivo xml e encontre o < EventTrigger > nó.
Crie o nó filho < ValueQueries >
<ValueQueries>
<Value name="EventID">Event/System/EventRecordID</Value>
<Value name="Channel">Event/System/Channel</Value>
</ValueQueries>
Você pode referenciar esses dados de consulta de valor em sua linha de comando com $ (EventID) e $ (Channel). Do meu teste, os eventos de email não substituem esses valores corretamente. Em vez disso, você precisa executar uma linha de comando. É claro que você pode adicionar consultas xpath a quaisquer dados no evento, e estes são apenas exemplos.
Você também pode enfrentar alguns desafios ao passar certos dados dessas consultas de dados para uma linha de comando (vários caracteres, incluindo aspas, barras, etc ... podem entrar em conflito com os caracteres especiais em seu interpretador de comandos). Para atenuar isso, usei os dois parâmetros definidos acima e, em seguida, recuperei os dados restantes do evento usando wevtutil:
wevtutil qe "$(Channel)" /q:"*[System[(EventREcordID=$(EventID)]]" /f:xml
você pode fazer o que quiser com o texto xml completo do registro de evento que gerou o alerta (como enviar um email, analisar o xml, etc ...)
por exemplo, você pode definir a seguinte ação em sua tarefa para gravar o evento xml em disco:
<Exec>
<Command>powershell.exe</Command>
<Arguments>start-transcript -path C:\alertlog.log -append; add-content -path C:\output.txt -value (wevtutil qe "$(Channel)" /q:"*[System[(EventRecordID=$(EventID))]]" /f:xml); stop-transcript;</Arguments>
</Exec>
A postagem do blog referenciada entra em maiores detalhes.