質問編集履歴

4

解決しました

2017/01/18 14:12

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -147,3 +147,33 @@
147
147
  <以下省略>
148
148
 
149
149
  XPathの記載のどこに問題があるかわかりますか??( ;∀;)
150
+
151
+
152
+
153
+ 追記3:
154
+
155
+ 調査した結果解決しました。
156
+
157
+ ```C#
158
+
159
+ string queryString = "*[System[Provider[@Name='WSH'] and TimeCreated[@SystemTime&gt;='2016-01-01T09:00:00.000Z' and @SystemTime&lt;='2016-01-01T10:00:00.000Z']]]"; // XPATH Query
160
+
161
+ ```
162
+
163
+
164
+
165
+ ```C#
166
+
167
+ string queryString = @"*[System[Provider[@Name='WSH'] and TimeCreated[@SystemTime >= '2015-12-31T15:00:00.000Z' and @SystemTime <= '2015-12-31T16:00:00.999Z']]]"; // XPATH Query
168
+
169
+ ```
170
+
171
+ に変えたところ動作しました。
172
+
173
+ 不等号が「&lt;」などで表記されていたためでした。
174
+
175
+ ブラウザなどでイベントビューアのフィルターのXMLを開くと、ちゃんと不等号で表示されるようです。
176
+
177
+
178
+
179
+ ありがとうございました。

3

誤字修正

2017/01/18 14:12

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  試したところ読み込みできました!
62
62
 
63
- しかし、XPathを指定するところで、TimeCreatedの条件を下記のように記載したところEventLogReaderのンストラクタ生成で例外が発生してしましました。。。
63
+ しかし、XPathを指定するところで、TimeCreatedの条件を下記のように記載したところEventLogReaderのンスタンス生成で例外が発生してしましました。。。
64
64
 
65
65
  ProviderNameのみだと例外は発生しなかったので、このXPathの記載に問題がありそうです。
66
66
 

2

EventLogReaderで実行してみましたが。。。

2017/01/18 13:40

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,101 @@
49
49
  LogParserを使ってみる手もありそうですが、どうなんでしょう・・・
50
50
 
51
51
  こちらについても初見なのでよくわかりませんが、上手く使えばCPUの制御はできますかね・・・?
52
+
53
+
54
+
55
+ 追記2:
56
+
57
+ oikaさん
58
+
59
+ ご回答ありがとうございます。
60
+
61
+ 試したところ読み込みできました!
62
+
63
+ しかし、XPathを指定するところで、TimeCreatedの条件を下記のように記載したところEventLogReaderのコンストラクタ生成で例外が発生してしましました。。。
64
+
65
+ ProviderNameのみだと例外は発生しなかったので、このXPathの記載に問題がありそうです。
66
+
67
+ XPathはイベントビューアのフィルターからXMLを参照して記載しています。
68
+
69
+ ```C#
70
+
71
+ public void QueryExternalFile()
72
+
73
+ {
74
+
75
+ string queryString = "*[System[Provider[@Name='WSH'] and TimeCreated[@SystemTime&gt;='2016-01-01T09:00:00.000Z' and @SystemTime&lt;='2016-01-01T10:00:00.000Z']]]"; // XPATH Query
76
+
77
+ string eventLogLocation = @"D:\Archive-Application-2016-01-11-04-28-24-389.evtx";
78
+
79
+ EventLogQuery eventsQuery = new EventLogQuery(eventLogLocation, PathType.FilePath, queryString);
80
+
81
+
82
+
83
+ try
84
+
85
+ {
86
+
87
+ EventLogReader logReader = new EventLogReader(eventsQuery);
88
+
89
+
90
+
91
+ for (EventRecord eventInstance = logReader.ReadEvent();
92
+
93
+ null != eventInstance; eventInstance = logReader.ReadEvent())
94
+
95
+ {
96
+
97
+ // Display event info
98
+
99
+ Console.WriteLine("-----------------------------------------------------");
100
+
101
+ Console.WriteLine("Event ID: {0}", eventInstance.Id);
102
+
103
+ Console.WriteLine("Publisher: {0}", eventInstance.ProviderName);
104
+
105
+ Console.WriteLine("Description: {0}", eventInstance.FormatDescription());
106
+
107
+ }
108
+
109
+ }
110
+
111
+ catch (EventLogNotFoundException e)
112
+
113
+ {
114
+
115
+ Console.WriteLine("Could not find the external log to query! " + e.Message);
116
+
117
+ return;
118
+
119
+ }
120
+
121
+ }
122
+
123
+ ```
124
+
125
+
126
+
127
+ 例外
128
+
129
+ System.Diagnostics.Eventing.Reader.EventLogException はハンドルされませんでした。
130
+
131
+ HResult=-2146233088
132
+
133
+ Message=指定されたクエリは無効です。
134
+
135
+ Source=System.Core
136
+
137
+ StackTrace:
138
+
139
+ 場所 System.Diagnostics.Eventing.Reader.EventLogException.Throw(Int32 errorCode)
140
+
141
+ 場所 System.Diagnostics.Eventing.Reader.NativeWrapper.EvtQuery(EventLogHandle session, String path, String query, Int32 flags)
142
+
143
+ 場所 System.Diagnostics.Eventing.Reader.EventLogReader..ctor(EventLogQuery eventQuery, EventBookmark bookmark)
144
+
145
+ 場所 System.Diagnostics.Eventing.Reader.EventLogReader..ctor(EventLogQuery eventQuery)
146
+
147
+ <以下省略>
148
+
149
+ XPathの記載のどこに問題があるかわかりますか??( ;∀;)

1

LogParserという手

2017/01/18 13:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -41,3 +41,11 @@
41
41
  何かいい方法をご存知の方、
42
42
 
43
43
  ご助力のほどお願いいたします。
44
+
45
+
46
+
47
+ 追記:
48
+
49
+ LogParserを使ってみる手もありそうですが、どうなんでしょう・・・
50
+
51
+ こちらについても初見なのでよくわかりませんが、上手く使えばCPUの制御はできますかね・・・?