/ / Powershell: parametry funkcji - zdarzenia, PowerShell, przeglądarka zdarzeń

Powershell: parametry funkcji - zdarzenia, powershell, przeglądarka zdarzeń

Buduję funkcję PowerShell, aby móc wysyłać zapytaniadzienniki zdarzeń wielu komputerów. Skopiowałem poniższy kod, z którym potrzebuję pomocy. Jeśli nie wysyłam identyfikatora zdarzenia, chcę, aby skrypt znalazł wszystkie identyfikatory zdarzeń, jak mogę to osiągnąć?

#this would be the parameter part of the script
[String]$ComputerName = $env:COMPUTERNAME#Current computer
[String[]]$EventLogNames=@("Application","System")#Main eventlogs
[int[]]$EventIds = 1 #Event Ids
[System.DateTime[]]$EventStartDate = (((Get-Date).addDays(-2)).date)#date 10 days ago
[System.DateTime[]]$EventEndTime = (Get-Date)#date 10 days ago

#This fits in the process section
$EventCritea = @{logname = $EventLogNames; StartTime=$EventStartDate; EndTime=$EventEndTime; ID=$EventIds}
Get-WinEvent -ComputerName $ComputerName -FilterHashTable $EventCritea  -ErrorAction SilentlyContinue

Odpowiedzi:

3 dla odpowiedzi № 1

Po pierwsze, twój drugi pytanie naprawia typy $EventStartDate i $EventEndTime.

W przypadku tego pytania: stopniowo buduj tablicę skrótów:

$filter = @{logname = $EventLogNames; StartTime=$EventStartDate; EndTime=$EventEndTime}

if ($EventIds -ne $null -and $EventIds.Length -gt 0) {
$filter.ID=$EventIds
}

Get-WinEvent -ComputerName $ComputerName -FilterHashTable $filter #...