Files
powershell/searchscript.ps1
2023-03-09 09:06:25 +01:00

42 lines
1.9 KiB
PowerShell

$prod='rej-p'
$servers = @( "$prod-app001", "$prod-bcm001", "$prod-bcm002", "$prod-app002", "$prod-app003", "$prod-app004", "$prod-web001", "$prod-web002", "$prod-web003", "$prod-web004", "$prod-web005", "$prod-web006", "$prod-web007", "$prod-web008")
$pattern = Read-Host -Prompt "Enter the pattern to search for"
$startDate = Read-Host -Prompt "Enter the start date (yyyy-MM-dd) [default: $(Get-Date -Format 'yyyy-MM-dd')]:"
if (!$startDate) { $startDate = (Get-Date -Format "yyyy-MM-dd") }
$endDate = Read-Host -Prompt "Enter the end date (yyyy-MM-dd) [default: $(Get-Date -Format 'yyyy-MM-dd')]:"
if (!$endDate) { $endDate = (Get-Date -Format "yyyy-MM-dd") }
$startTime = Read-Host -Prompt "Enter the start time (HH:mm:ss) [default: 08:00:00]:"
if (!$startTime) { $startTime = "08:00:00" }
$endTime = Read-Host -Prompt "Enter the end time (HH:mm:ss) [default: 16:00:00]:"
if (!$endTime) { $endTime = "16:00:00" }
$results = @()
foreach ($server in $servers) {
$path = "\\$server.rejprod.local\d-drive\IFSBOSystem\log\"
Get-ChildItem -Path $path -Filter *.log | ForEach-Object {
$logDate = $_.LastWriteTime.ToString("yyyy-MM-dd")
$logTime = $_.LastWriteTime.ToString("HH:mm:ss")
if (($logDate -ge $startDate) -and ($logDate -le $endDate) -and
($logTime -ge $startTime) -and ($logTime -le $endTime)) {
$matches = Select-String -Path $_.FullName -Pattern $pattern
foreach ($match in $matches) {
$results += [PSCustomObject]@{
FileName = $_.Name
Line = $match.Line
Server = $server
}
}
}
}
}
$results | Select-Object FileName, Line, Server | Export-Csv -Path "$PWD\result.csv" -NoTypeInformation
If ($results -ne $null)
{
start notepad++ .\result.csv
}
Else
{
Write-Host "!!NOTHING FOUND!!";
}
#Write-Host $results