0

次のコードは、timewritten <='20130215' の場合に機能します。

  WqlObjectQuery query = new WqlObjectQuery("select * from win32_NTLogEvent where logfile='Application'  and type='information' and **timewritten<='20130214'** and eventcode='1022'");*emphasized text*
        ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
        foreach(ManagementObject mo in searcher.Get())
        {

            Console.WriteLine("Log file: " + mo["logfile"]);
            Console.WriteLine("Event type: "+mo["type"]);
            Console.WriteLine("Event Code: " + mo["eventcode"]);
            Console.WriteLine("Time generated: " + mo["timegenerated"]);
            Console.WriteLine("Event Source: "+mo["Sourcename"]);
 }

以下のようにタイムライトがテストされている場合、動作しません。

   timewritten <='20130214' 
   timewritten ='20130214' 

それが起こった理由を教えてもらえますか。

4

1 に答える 1

0

timewrittendatetime値です - 時間要素があります。に変換されるリテラルで時刻コンポーネントを指定しない場合datetime、その日の開始時の午前 0 時を取得します。

timewritten ='20130214'14 日の真夜中ちょうどに発生したイベントを尋ねます。

timewritten <='20130214'は、14 日より前、または 14 日のちょうど真夜中に発生したイベントを尋ねます。

これらの説明に一致するイベントがない場合、結果は得られません。

私が推測するように、14 日に発生したすべてのイベントが必要な場合は、いつでも、timewritten >= '20130214' and timewritten < '20130215'

于 2013-02-14T07:35:02.250 に答える