3 votos

Con Powershell, comparar los valores TimeCreated de dos acontecimientos y actuar si uno es más viejo que el otro

He creado mi propio registro de eventos llamado ScriptEvents que utilizo unos scripts para escribir. Lo que me gustaría hacer es ejecutar estos comandos (o algo equivalente):

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

luego compare sus valores TimeCreated y realizar una acción si el primer evento es mayor que el segundo.

Este es el resultado de estos 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....

Cualquier ayuda sería apreciada.

4voto

jscott Puntos 17041

Probablemente sólo utilizo Get-Date y comparar como DateTime objetos. Lo siguiente será volver True utilizando los valores proporcionados.

$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)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X