2016-01-25 52 views
0

我正在編寫一個PowerShell腳本,它將計數從 請求的日誌中記錄的數量,並在最後的$interval 秒內發生特定的ID。在當前版本的腳本中,我正在打印返回的 事件的$log以及RecordCount。但是,RecordCount是 不打印。從PowerShell中的Get-WinEvent返回RecordCount

我的腳本的當前版本是:

$log_name = 'Application' 
$event_id = 1003 
$interval = (get-date).AddSeconds(-7200) # Last 2 hours. 
$count = 0 

$log = Get-WinEvent -EA silentlycontinue ` 
        -FilterHashTable @{ LogName=$log_name; 
             StartTime=$interval; 
             id=$event_id } 

$log 
$log.RecordCount 

輸出是:

PS C:\temp> .\log_monitor 

TimeCreated     ProviderName            Id Message 
-----------     ------------            -- ------- 
01/25/2016 12:34:40 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:34:40 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:34:39 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:34:39 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:14:22 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:14:22 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:14:22 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:14:22 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:05:41 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:05:41 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:05:41 PM  Office Software Protection...       1003 The Software Protection se... 
01/25/2016 12:05:41 PM  Office Software Protection...       1003 The Software Protection se... 


PS C:\temp> 

注意,RecordCount不打印。

回答

1

,而不是僅僅使用Count屬性像

$log.Count 
+0

這工作。謝謝。還有一個問題。如果'Get-Event .... |在哪裏{$ _ RecordCount}'正確工作,那麼爲什麼不'$ log.RecordCount'?試圖理解,因爲我經常在PowerShell中不使用腳本。 –

+0

@DougR。這可能是由於它基於輸入返回的不同對象類型。做一個'get-help Get-WinEvent -full'並看看'OutPut'部分。只有在使用'ListLog'輸入時,纔會使用'RecordCount'屬性,而不是在其他場景中。在你的情況下,即使'{$ _。RecordCount}'也不會返回任何東西。 – Rahul

+0

謝謝!我欣賞指針! –