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
不打印。
這工作。謝謝。還有一個問題。如果'Get-Event .... |在哪裏{$ _ RecordCount}'正確工作,那麼爲什麼不'$ log.RecordCount'?試圖理解,因爲我經常在PowerShell中不使用腳本。 –
@DougR。這可能是由於它基於輸入返回的不同對象類型。做一個'get-help Get-WinEvent -full'並看看'OutPut'部分。只有在使用'ListLog'輸入時,纔會使用'RecordCount'屬性,而不是在其他場景中。在你的情況下,即使'{$ _。RecordCount}'也不會返回任何東西。 – Rahul
謝謝!我欣賞指針! –