Назад | Перейти на главную страницу

Не удалось запустить службу Windows Server 2012 при запуске

У меня есть экземпляр EC2 с Windows Server 2012 R2 со всеми последними обновлениями.

Сначала я создал службу, а затем задачу запустить пакетный файл для создания отчета Microsoft Word (используя мою собственную программу на C #). Я поставил задачу работать с наивысшими привилегиями и работать от имени администратора. Хотя мой командный файл вызывается, он не работает. Мой командный файл:

C:/WordGenerator.exe C:/report.docx > C:/word.log 2>&1

Он выдает ошибку за исключением exe:

Failure
System.NullReferenceException: Object reference not set to an instance of an object.
    at InteropFunctions.Save(String opath)
    at Reporting.Report.generate()
    at Reporting.WordGenerator.run()

Если я запустил командный файл вручную, он завершится нормально.

Вышеупомянутое исключение возникает, когда функция взаимодействия C # Word пытается открыть созданный отчет для дальнейшей обработки (поэтому у него фактически нет разрешений - он не может его найти).

  1. До сих пор я узнал, что Windows может по-прежнему запускать все службы под учетной записью LOCAL SYSTEM и на лету входить в систему для данного пользователя (если есть).

  2. Я также узнал, что службы могут работать в разных сеансах / контексте безопасности как обычные команды администратора.

Может ли кто-нибудь помочь найти решение, которое работает? Мне нужно запустить командный файл при запуске от имени администратора (без входа в систему). Я хочу пойти еще дальше и имитировать логин. У нас возникают другие проблемы из-за того, что мы не запускаем его от имени администратора (я привел простой случай). Картинки для настройки:

Причина, по которой это не удалось, была из-за DCOM в Windows. Я установил свой запуск от имени администратора (в разделе «Идентификация»).

https://stackoverflow.com/a/11359745/234307