次の C# コードを使用します。
EventLog[] eventLogs;
eventLogs = EventLog.GetEventLogs(computername);
foreach (EventLog evt in eventLogs)
{
statusMessagesListBox.Items.Add("evt.Log.ToString(): " + evt.Log.ToString() + "\t\tevt.LogDisplayName: " + evt.LogDisplayName);
}
それを実行すると、出力は次のようになります。
evt.Log.ToString(): Application evt.LogDisplayName: Application
evt.Log.ToString(): HardwareEvents evt.LogDisplayName: Hardware Events
evt.Log.ToString(): Security evt.LogDisplayName: Security
などなど。しかし、セットアップ ログがないのはなぜですか? さらに、このコードを実行しようとすると:
var eventLog = new EventLog("Setup", computer);
eventLog.Clear();
eventLog.Dispose();
ログ 'Setup' がそのコンピュータに存在しないというエラー メッセージが表示されます。上記のコードは、セットアップ ログ以外のすべてのイベント ログで機能します。
セットアップ イベント ログにアクセスするにはどうすればよいですか?
参考までに、試している .NET Framework は 4.0 と 4.5 で、ターゲット コンピューターは Windows 7 と 2008 R2 です。