Search code examples
c#event-loglan

EventLogQuery reader for remote computer?


I'm using this code to readmy own event Log from my win7 Computer.

 EventLogQuery eventsQuery = new EventLogQuery("Security", PathType.LogName, queryString);
 eventsQuery.ReverseDirection = true;
 EventLogReader logReader = new EventLogReader(eventsQuery);

However - I need to read the EventLog for a remote computer ( Lan - Same domain)

How can I do that ?


Solution

  • http://msdn.microsoft.com/en-us/library/bb671200(v=vs.90).aspx

    public void QueryRemoteComputer()
        {
            string queryString = "*[System/Level=2]"; // XPATH Query
            SecureString pw = GetPassword();
    
            EventLogSession session = new EventLogSession(
                "RemoteComputerName",                               // Remote Computer
                "Domain",                                  // Domain
                "Username",                                // Username
                pw,
                SessionAuthentication.Default);
    
            pw.Dispose();
    
            // Query the Application log on the remote computer.
            EventLogQuery query = new EventLogQuery("Application", PathType.LogName, queryString);
            query.Session = session;
    
            try
            {
                EventLogReader logReader = new EventLogReader(query);
    
                // Display event info
                DisplayEventAndLogInformation(logReader);
            }
            catch (EventLogException e)
            {
                Console.WriteLine("Could not query the remote computer! " + e.Message);
                return;
            }
        }