2010-07-21 114 views
4

我需要將某些事件從Windows事件日誌導出到Windows Server 2008 R2上的XML。爲了實現它,我使用EvtExportLog將這些事件導出到文件,然後嘗試使用EvtArchiveExportedLog來獲取事件的本地化描述。 這裏的樣本:EvtArchiveExportedLog失敗,並顯示ERROR_DIRECTORY

EvtExportLog(0, 0, query, logFileName, EvtExportLogChannelPath); 
EvtArchiveExportedLog(0, logFileName, 0, 0); 

EvtExportLog函數成功,並創建採用.evtx文件,但EvtArchiveExportedLog不斷失敗,ERROR_DIRECTORY錯誤代碼。我不知道這種行爲的原因是什麼。

回答

2

看來我找到了原因。 EvtArchiveExportedLog對託管eventlog服務的svchost.exe進行RPC調用。此服務嘗試在「%windir%\ ServiceProfiles \ LocalService \ AppData \ Local \ Temp」文件夾中創建文件,失敗,代碼爲ERROR_ACCESS_DENIED,並返回ERROR_DIRECTORY到RPC客戶端。就RPC服務器模擬客戶端而言,解決方案是授予調用線程的訪問權限。

相關問題