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