Я пытался программно войти в папку 'C: \ Windows \ System32 \ winevt \ Logs', используя C #, чтобы я мог скопировать файлы журнала событий в резервную папку и затем очистить журналы событий как часть устройство для ежедневного резервного копирования, но я не могу получить доступ к этому каталогу.
Я попытался изменить манифест приложения, чтобы он запускался под администратором (), который выдает приглашение UAC при запуске программы, и я даже зашел так далеко, что порождал оболочку с идентификатором NT AUHORITY \ SYSTEM для выполнения код, но он по-прежнему говорит, что это неверный путь, хотя я могу вручную войти в каталог как в административной оболочке, так и в оболочке SYSTEM.
Я выделил это, просто не имея возможности войти в каталог winevt.
Я использую этот код, чтобы посмотреть, смогу ли я получить доступ к каталогу.
Environment.CurrentDirectory = System.Environment.SystemDirectory + @ "\ winevt \";
только для получения
System.IO.DirectoryNotFoundException: Не удалось найти часть пути «C: \ Windows \ system32 \ winevt \».
в System.IO .__ Error.WinIOError (Int32 errorCode, String MaybeFullPath)
в System.IO.Directory.SetCurrentDirectory (String path)
в System.Environment.set_CurrentDirectory (строковое значение)
в dev_EventLog.Program.Main (String [] args) в D: \ SourceCodes \ dev_EventLog \ dev_EventLog \ Program.cs: строка 30
Я пробовал много разных способов указать каталог, но он все тот же, и я также пробовал разные подпапки System32 и из 10 или около того, что я пробовал winevt, единственный, который ведет себя так.
Это сводит меня с ума, каждый знает, почему это не работает в C #, или я вынужден использовать VBScript для этого, поскольку следующий код VBScript работает для копирования файла журнала событий.
dim filesys
set filesys = CreateObject ("Scripting.FileSystemObject")
filesys.CopyFile "C: \ Windows \ System32 \ winevt \ Logs \ Application.evtx", "C: \ rusl \ Application.evtx"