2011-11-01 15 views
6

Estoy usando este código para leer mi propio registro de eventos desde mi computadora win7.Lector EventLogQuery para computadora remota?

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

Sin embargo - Tengo que leer el EventLog de un mando a distancia equipo (Lan - Igual dominio)

¿Cómo puedo hacer eso?

Respuesta

13

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; 
     } 
    } 
Cuestiones relacionadas