Powershell:les paramètres de la fonction
-
12-12-2019 - |
Question
Je suis en train de construire une fonction powershell afin que je puisse interroger plusieurs ordinateurs journaux d'événements.Ive copié le code ci-dessous que j'ai besoin d'aide.Si je n'envoie pas un id de l'événement, je veux que le script qui permet de trouver tous les ID de l'événement, comment puis-je y parvenir?
#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
La solution
Tout d'abord, vos autres question résout les types de $EventStartDate
et $EventEndTime
.
Pour cette question:construire la table de hachage progressivement:
$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 #...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow