Usando o Powershell, compare os valores de TimeCreated de dois eventos e tome uma ação se um for mais antigo que o outro.

3

Eu criei meu próprio log de eventos chamado ScriptEvents que eu uso alguns scripts para gravar. O que eu gostaria de fazer é executar esses comandos (ou algo equivalente):

Get-WinEvent -FilterHashtable @{logname='ScriptEvents'; id=1} -MaxEvents 1
Get-WinEvent -FilterHashtable @{logname='ScriptEvents'; id=0} -MaxEvents 1

, em seguida, compare seus valores com o tempo criado e execute uma ação se o primeiro evento for mais antigo que o segundo.

Esta é a saída desses comandos:

   ProviderName: PauseSnapshots
TimeCreated                     Id LevelDisplayName Message
-----------                     -- ---------------- -------
9/26/2013 11:58:07 AM            1 Information      Replication has been paused....

   ProviderName: ResumeSnapshots
TimeCreated                     Id LevelDisplayName Message
-----------                     -- ---------------- -------
9/26/2013 1:30:42 PM             0 Information      Replication has been resumed....

Qualquer ajuda seria apreciada.

    
por JeffHarbert 27.09.2013 / 17:39

1 resposta

4

Eu provavelmente usaria apenas Get-Date e comparei como DateTime objects. O seguinte retornará True usando seus valores fornecidos.

$evtOne = Get-WinEvent -FilterHashtable @{logname='ScriptEvents'; id=1} -MaxEvents 1
$evtTwo = Get-WinEvent -FilterHashtable @{logname='ScriptEvents'; id=0} -MaxEvents 1
(Get-Date $evtOne.TimeCreated) -lt (Get-Date $evtTwo.TimeCreated)
    
por 27.09.2013 / 17:59