我们使用数组从日志中获取数据,并且需要花费大量时间,因为它会搜索所有日志。我们想要每个来源的最新2个日志。这是我们现在正在使用的powershell代码。
$arraylist = Get-Content C:\sources\sourceLFE2.csv;
foreach($list in $arraylist)
{
$source1 = $list.Trim();
if([string]::IsNullOrEmpty($source1))
{
continue;
}
if(($source1 -eq $b))
{
continue;
}
if(($source1 -eq $c))
{
continue;
}
else
{
$sourcelist = Get-EventLog -computer $computer4 -logname "lync server" -Source $source1 -EntryType "Error" ,"warning","information" -newest 1 -ErrorAction SilentlyContinue |format-table -wrap |fl
$arraysource = $arraysource + $sourcelist;
}
}
$arraysource | out-file -filepath $Eventfrontend;
此代码从文本文件中获取输入,我想手动编写这些代码以减少时间,以便我们只为文件中提到的每个源获取最新的2个事件。
如何减少时间,以便我们可以获取实时应用程序的日志?请帮忙。
答案 0 :(得分:-1)
这应该效果更好
$arraysource = @()
$arraylist = Get-Content C:\sources\sourceLFE2.csv;
foreach($list in $arraylist)
{
$source1 = $list.Trim()
if([string]::IsNullOrEmpty($source1)) { continue }
if(($source1 -eq $b)) { continue }
if(($source1 -eq $c)) { continue }
$arraysource += Get-EventLog -computer $computer4 -logname "lync server" -Source $source1 -EntryType "Error" ,"warning","information" -newest 2 -ErrorAction SilentlyContinue |format-table -wrap |fl
}
$arraysource | out-file -filepath $Eventfrontend