我尝试使用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
会正确返回数千个结果。
使用Get-WinEvent,MagicFS6有12662个事件 MagicFS6使用Get-EventLog
有12662个事件MT_WPLAppServer使用Get-WinEvent有0个事件 MT_WPLAppServer使用Get-EventLog
有11483个事件
根据我的需要,我需要使用{{1}},所以我想知道为什么这不会返回可靠的结果。