0

リモートサーバーでは時間がかかるため、以下のコマンドを wmi query または get-wmiobj -filter に変換するのを手伝ってくれる人はいますか?

Get-EventLog -ComputerName $Comp -LogName System -After (Get-Date).AddDays(-3) -ErrorAction Stop |
         ? { $_.EntryType -eq "Critical" -or $_.EntryType -eq "Warning" -or $_.EntryType -eq "Error"}

お時間いただきありがとうございます。

4

1 に答える 1

2

最初にすべてのタイプのイベントを取得してからフィルタリングするのではなく、リモート ホストでフィルタリングを実行してみてください。

Get-EventLog -Computer $Comp -LogName System -EventType Error,Warning `
  -After (Get-Date).AddDays(-3) -ErrorAction Stop

ところで、イベント タイプ「クリティカル」はありません。

WMI を使用する必要がある場合は、次のように動作するはずです。

$age    = (Get-Date).AddDays(-3).ToUniversalTime()
$ts     = [System.Management.ManagementDateTimeconverter]::ToDmtfDateTime($age)
$filter = "LogFile='System' AND TimeGenerated>='$ts' AND EventType<=2"

gwmi Win32_NTLogEvent -Filter $filter -Computer $Comp -EnableAllPrivileges
于 2013-09-07T11:58:04.887 に答える