2017-07-13 13 views
0

指定された時間後に生成されるイベントログを読み込もうとしていますが、無効なクエリ文字列例外が発生しています。時間のカスタムXPathを作成する

私はmsdnに従いましたsite xpathsを提供する方法と私の実装です。私のコードで間違っています。

var Date = "6/13/2017 3:51:10 PM"; 
     string queryString = "*[System/TimeCreated/@SystemTime >=" + Date + "]]"; 
     SecureString pw = GetPassword(); 

     EventLogSession session = new EventLogSession(
      "MachineName",        // Remote Computer 
      "DomainName",         // Domain 
      "userName",        // Username 
      pw, 
      SessionAuthentication.Default); 

     pw.Dispose(); 
     EventLogQuery query = new EventLogQuery("Application", PathType.LogName, queryString); 
     query.Session = session; 

     try 
     { 
      EventLogReader logReader = new EventLogReader(query); 
      for (EventRecord eventDetail = logReader.ReadEvent(); eventDetail != null; eventDetail = logReader.ReadEvent()) 
      { 
       var date = eventDetail.TimeCreated; 
      } 

      // Display event info 
     } 
     catch (EventLogException e) 
     { 
      Console.WriteLine("Could not query the remote computer! " + e.Message); 
      return; 
     } 

答えて

0

XPathでは、2つのことを行う必要があります。まず、文字列なので、日付の値を引用する必要があります。次に、ISO形式を使用する必要があります。これは、その形式であるためです。

var Date = "2017-06-13T15:51:10Z"; 
string queryString = "*[System/TimeCreated[@SystemTime >='" + Date + "']]"; 
+0

なお同じ例外があります。 –

+0

Querystringの値は何ですか? – Ben

+0

角かっこのいずれかがバランスがとれていないように見えます。 – Ben

関連する問題