Я пытаюсь создать команду Get-Winevent, используя переменные, но у меня возникают проблемы с переменными внутри "встроенных" команд, и я наткнулся на общеизвестную кирпичную стену. В последнем фрагменте кода, если я $EventIDQueryAdd
и $EntryTypeQueryAdd
команда запускается без проблем. Будем очень благодарны любой помощи! Спасибо!
$ArgLastMinutes = 60
$ArgLogName = "Security"
$ArgEntryType = 0
$ArgEventID = 4625
if ($ArgEventID) { $EventIDQueryAdd="id=$ArgEventID;" }
if ($ArgEntryType) { $EntryTypeQueryAdd="level=$ArgEntryType;" }
write-host "argeventid "$ArgEventID # returns 4625
write-host "argentrytype "$ArgEntryType # returns 1
write-host "eventidqueryadd "$EventIDQueryAdd # returns id=4625; as it should
write-host "entrytypequeryadd "$EntryTypeQueryAdd # returns level=1; as it should
$LogEntries=Get-WinEvent -FilterHashtable @{logname="$ArgLogName"; $EventIDQueryAdd $EntryTypeQueryAdd StartTime=(Get-Date).AddMinutes(-$ArgLastMinutes) }
... <цикл через LogEntries> ...