I am trying to get data from multiple servers based on a select string and output string data from multiple servers to one file
$servers = @("server1","server2","server3")
$pattern = "(?'min'\d{2}):(?'sec'\d{2})\.(?'hun'\d{2})"
$tgtDate = (Get-Date).AddDays(-1) | Get-Date -Format yyyyMMdd
$dstFile = "C:\scripts\test.txt"
New-Item -ItemType File -Path $dstFile -Force
foreach ($server in $servers)
{
$tgtFolder = "\\$server\LogFiles\foo_pilot\"
Write-Verbose "Target date $tgtDate on $server"
$max = $avg = $totalTime = 0.0
$min = 100.0 # set this to something greater than the largest time
$count = 0
$serverData = Get-Content -Path (Join-Path -Path $tgtFolder -ChildPath "spmanager.log$tgtDate") |
select-string 'Elapsed time for PICKLIST_SERVICEv10.getFilWorkLoad:' -SimpleMatch
Out-File $dstFile
}
the script runs but i am getting only one server data. any help on this.