2011-11-01 71 views
6

我正在使用此代码读取我自己的事件从我的win7计算机中登录。用于远程计算机的EventLogQuery阅读器?

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

但是 - 我需要阅读的事件日志的远程计算机(兰 - 同域)

我怎么能这样做?

回答

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