1

過去 10 日間のアプリケーションからイベント ログを取得する小さなスクリプトを作成しましたが、エラーが発生します。エラーが表示される理由はありますか?

Where-Object : パラメータ 'FilterScript' をバインドできません。値 "False" を "System.Management.Automation.ScriptBlock" 型に変換できません。エラー: 「'System.Boolean' から 'System.Management.Automation.ScriptBlock' へのキャストが無効です。」

#Sets the application log to query 
$Log ="Application"
$FilterHashTable = @{LogName=$Log}

#stores the computer name 
$ComputerName = $env:COMPUTERNAME 

#sets the date 10 days ago 
$DeleteDate = Get-Date 
$DeleteDate = $DeleteDate.AddDays(-10) 
Write-Verbose $DeleteDate 

#retrieve WMIevent and logs the information 
$Winevent = Get-WinEvent -ComputerName $ComputerName -FilterHashTable $FilterHashTable  -ErrorAction SilentlyContinue

# Filter on time 
$Winevent | where-object ($_.timecreated -gt $DeleteDate)
4

1 に答える 1

3

Where-Objectscriptblock パラメーターが必要です。フィルター ロジックを含めるには、括弧で{...}はなく中括弧を使用します。(...)

現在、PS はフィルターとして適用するのではなく、条件をチェックしてブール値を返しています。

于 2012-04-18T16:11:20.530 に答える