Мой вопрос связан с правами на запись в журнал событий Windows. Я просмотрел несколько сообщений, рассказывающих об этом, и нашел некоторые способы решения моей проблемы, но ни один из них не подходит для моего текущего сценария.
Я использую С# в .NET 4.0. Я использую класс EventLog: Класс EventLog
Короче говоря, мне нужно выяснить, есть ли способ олицетворять или аутентифицировать аутентифицированный пользователь и пароль, чтобы достичь права, которое мне нужно записать в журнал событий. Сервер всегда будет в семействе Windows Server, но версия может отличаться.
Мое приложение - это служба Windows, работающая с одной из следующих учетных записей:
- Сетевая служба
- Локальная служба
- Локальная система
- Пользователь с ограниченными правами (пользователи или Группы пользователей домена)
Вот некоторые другие критерии, которые у меня есть:
- Я не могу поместить пользователя службы в качестве администратора, даже локального администратора на сервере
- Я не могу редактировать или изменять реестр
- Я не могу изменить UAC или любые групповые политики на сервере
- У меня есть пользователь с правами администратора, но он не может использоваться для запуска службы
- Журнал событий всегда будет локальным журналом событий, а не на удаленном компьютере.
- Журнал, вероятно, всегда будет журналом "Приложение"
- Источник может отличаться, и это, по-видимому, является сердцем проблемы.
Мой вопрос: Возможно ли это?
Могу ли я выдавать себя за пользователя в моем коде для достижения того, что мне нужно? Я делаю это при подключении к веб-сервисам, входе на SMTP-серверы и в courseclogging в базы данных и т.д.
Я наткнулся на этот класс: Класс EventLogPermission
Но я не могу получить хорошую концепцию о том, как использовать класс.
Надеюсь, я выразил свою проблему хорошо. Я не рассматриваю это дубликат другого сообщения из-за моих критериев.