2011-11-01 25 views
6

Tôi đang sử dụng mã này để đọc sự kiện riêng của Đăng nhập từ máy tính win7 của tôi.Trình đọc EventLogQuery cho máy tính từ xa?

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

Tuy nhiên - Tôi cần phải đọc EventLog cho một từ xa máy tính(Lan - Cùng tên miền)

Làm thế nào tôi có thể làm điều đó?

Trả lời

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; 
     } 
    } 
Các vấn đề liên quan