Você está tentando construir uma hashtable como uma string, não funcionaria dessa maneira. Quando você diz returns id=4625; as it should
não é verdade, você tem uma string aqui, não uma hashtable. Para uma hashtable você deve ver esta saída:
Name Value
---- -----
Id 4625
Tente isto:
$ArgLastMinutes = 60
$ArgLogName = 'Security'
$ArgEntryType = 0
$ArgEventID = 4625
# Create a new hashtable with two keys
$Filter = @{
LogName = $ArgLogName
StartTime = (Get-Date).AddMinutes(-$ArgLastMinutes)
}
if($ArgEventID)
{
# Add new key-value pair to the existing hashtable
$Filter += @{Id = $ArgEventID}
}
if($ArgEntryType)
{
# Add new key-value pair to the existing hashtable
$Filter += @{Level = $ArgEntryType}
}
# Pass the hashtable to the -FilterHashtable parameter
$LogEntries = Get-WinEvent -FilterHashtable $Filter