Я тоже задавал этот вопрос на форуме Microsoft, но ответа пока нет.
Я занимаюсь созданием сервера Windows 2012 для замены устаревшего сервера Windows 2008. Я тестирую устаревший пакетный сценарий, который регистрирует информационные или системные события при различных обстоятельствах. Однако скрипт выдает ошибку. "Access is denied"
.
Я сделал некоторую отладку и обнаружил, что ошибка связана с EVENTCREATE
линия. Ниже приведен пример команды и ее сбой:
C:\SCRIPTS>EVENTCREATE /t WARNING /d "testing" /id 411
ERROR: Access is denied.
Если я выполняю эту команду от имени себя (администратора), она работает нормально. Но если один из пользователей его выполнит, это не удастся.
Я сделал Google вокруг, а также проверил stackoverflow и его родственные сайты и заметил, что такое поведение было зарегистрировано, когда /so
параметр используется. Однако я не использую /so
параметр.
Я подтвердил, что у пользователя есть доступ к EVENTCREATE
команда. Если они вызовут его с помощью /?
они видят содержание справки по нему.
Есть ли какой-то параметр разрешений групповой политики, который мне нужно настроить? Что-то другое?
Заранее спасибо за вашу помощь.
Я подозреваю, что проблема здесь в том, что вы не используете переключатель / so, который обычно позволяет указать источник события.
Поскольку вы не используете этот параметр, утилита по умолчанию использует «EventCreate» в качестве источника событий. Это означает, что утилите необходимо будет зарегистрировать источник «EventCreate» в реестре, что потребует повышенных разрешений. У пользователя, запускающего eventcreate, скорее всего, не будет этих необходимых разрешений.
Вы пробовали запустить его на той же машине как администратор, а затем снова запустить как пользователь? Я думаю, что это сработает.
В качестве альтернативы я бы также попытался указать источник события, например «Ваше приложение» и придерживайтесь его. Источник событий «EventCreate» очень общий, и я бы не стал его использовать.
Наконец, я бы порекомендовал эти статьи в блоге, чтобы понять, как работает запись в журнал событий:
https://www.eventsentry.com/blog/2008/04/event-log-message-files-the-de.html https://www.eventsentry.com/blog/2010/11/creating-your-very-own-event-m.html
У меня было то же самое, и я решил это, открыв командное окно как администратор. Просто будучи администратора было недостаточно для выполнения команды. Щелкните значок правой кнопкой мыши и выберите «Запуск от имени администратора».