Я стараюсь сделать мой скрипт Powershell как можно проще. Но у меня проблемы с предложением where-object. Следующий код делает то, что я хочу:
# define calculated variables
$mytime = @{label="Time";expression={$_.timegenerated}}
$myeid = @{l="EID";e={$_.instanceid -band 0xffff}}
$mymsg = @{l="Msg 1st 20";e={$_.message.substring(0,20)}}
# get data
Get-Eventlog system |
where-object { ( $_.instanceid -band 0xffff ) -eq 6005} |
select-object -first 10 instanceid,
$mytime,
$myeid,
$mymsg
Но я думал, что было бы проще, если бы объект where мог использовать $ myeid
...
where-object { $myeid -eq 6005} |
...
Но я не получить какие-либо результаты, когда я использую это предложение where-object. Я пробовал различные комбинации заключать его в фигурные скобки, круглые скобки и $ (...), но безуспешно. Что мне не хватает?
Позже я обнаружил, что уже существует свойство сценария для извлечения EventID, но мне все еще интересно, почему это не работает.