Читатель EventLogQuery для удаленного компьютера?

Я использую этот код для чтения собственного журнала событий с моего компьютера win7.

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

Однако мне нужно прочитать EventLog для удаленного компьютера (локальная сеть — тот же домен)

Как я могу это сделать ?


person Royi Namir    schedule 01.11.2011    source источник


Ответы (1)


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;
        }
    }
person Ken    schedule 04.11.2011