Windows

Windows Server 2012 啟動時執行服務不成功

  • June 6, 2017

我有一個帶有所有最新更新的 Windows Server 2012 R2 的 EC2 實例。

我首先做了一個服務,然後是一個執行批處理文件以創建 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 仍可以將所有服務作為本地系統帳戶執行,並即時登錄給定使用者(如果有)。
  2. 我還了解到,服務可能像正常管理員命令一樣在不同的會話/安全上下文中執行。

任何人都可以幫助找到有效的解決方案嗎?我需要在啟動時以管理員身份執行批處理文件(無需登錄)。我願意去模擬登錄。由於這並沒有真正以管理員身份執行,我們遇到了其他問題(我給出的是一個簡單的案例)。設置圖片:

在此處輸入圖像描述

失敗的原因是 Windows 中的 DCOM。我將我的設置為以管理員身份執行(在身份中)部分。

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

引用自:https://serverfault.com/questions/629975