为什么我使用Get-WinEvent和Get-EventLog获得不同的结果?

时间:2017-08-08 19:58:04

标签: powershell powershell-v4.0 event-log get-eventlog

我尝试使用Get-WinEvent从事件日志中检索我公司用来写入事件日志的特定提供商名称的事件。我发现我的结果会有所不同,具体取决于我是使用Get-EventLog还是$pName1 = "MagicFS6" $pName2 = "MT_WPLAppServer" $provider = $pName2 $fhash = @{ logname = 'application'; providername = $provider; StartTime = '8/1/2017 12:00:00 AM' } $fhashevent = $null $fhashevent = Get-WinEvent -FilterHashtable $fhash $count = $fhashevent.Count Write-Host "$provider had $count events using Get-WinEvent" $eventlog = Get-EventLog -LogName Application -Source $provider -After '8/1/2017 12:00:00 AM' $count = $eventlog.Count Write-Host "$provider had $count events using Get-EventLog" ,而我不确定原因。

使用此测试代码(两个提供者名称都是我公司所拥有的不同应用程序的专有名称):

$pName1

使用Get-WinEvent(MagicFS6)运行,Get-EventLog$pName2都会返回相同数量的事件。这告诉我代码是等价的。

但是,使用Get-WinEvent(MT_WPLAppServer)运行时,Get-EventLog会返回0个事件,而Get-WinEvent会正确返回数千个结果。

Results image

  

使用Get-WinEvent,MagicFS6有12662个事件   MagicFS6使用Get-EventLog

有12662个事件      

MT_WPLAppServer使用Get-WinEvent有0个事件   MT_WPLAppServer使用Get-EventLog

有11483个事件

根据我的需要,我需要使用{{1}},所以我想知道为什么这不会返回可靠的结果。

0 个答案:

没有答案