Windows

使用 Powershell,比較兩個事件的 TimeCreated 值,如果一個事件比另一個事件舊,則採取行動

  • September 27, 2013

我創建了自己的名為 ScriptEvents 的事件日誌,我使用一些腳本來寫入。我想做的是執行這些命令(或等效的命令):

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

然後比較它們的 TimeCreated 值,如果第一個事件早於第二個,則執行操作。

這是這些命令的輸出:

  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....

任何幫助,將不勝感激。

我可能只是Get-Date將其用作DateTime對象並進行比較。以下將True使用您提供的值返回。

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

引用自:https://serverfault.com/questions/542164