Что делает мой скрипт, сначала он проверяет, хранятся ли какие-либо архивные файлы событий в C: \ Windows \ System32 \ winevt \ Logs старше 7 дней. Если они удаляют их.VBScript работает в Windows 7 Professional, а не в Windows Home Premium
Вторая вещь, которую он выполняет, это любые оставшиеся файлы архива * .evtx (те, которые новее, чем 7 дней), будут застегиваться и отправляться на любой путь, который вы указали.
Теперь моя проблема заключается в том, что мой рабочий стол работает под управлением Windows 7, и сценарий работал на 100% правильно прошлой ночью, когда я делал последние штрихи на нем. Теперь мой ноутбук работает под управлением Windows Home Premium, поэтому при работе сегодня при попытке запустить скрипт с моего ноутбука внезапно это не сработает.
Это сделает zip-файл правильным путем, но на самом деле он ничего не поместит в zip-файл.
Теперь я должен был запустить скрипт как администратор, чтобы заставить его работать, что потребовало от меня сделать редактирование реестра, которое я нашел в Интернете, чтобы добавить кнопку «Запуск от имени администратора», когда вы щелкните правой кнопкой мыши на .vbs файл. (Wierd, что этого уже нет, но что бы то ни было)
Итак, я сделал то же самое редактирование на своем ноутбуке, попытался запустить его снова, и то же самое произошло. Пустой почтовый файл по правильному пути.
Итак, я понял, что что-то случилось с UAC, борющимся с ним. Поэтому я выключил UAC на своем ноутбуке, а затем работал как администратор, но все равно столкнулся с той же проблемой. Дома мой UAC по-прежнему включен, и скрипт работает, поэтому я совсем не уверен, в чем проблема.
Тогда я подумал, может быть, на моем ноутбуке у меня возникла проблема с диском C: или что-то странное. Поэтому я открыл cmd как admin и запустил «takeown», чтобы убедиться, что к диску разрешен доступ администратором.
Затем пошел и снова запустил сценарий, все еще столкнулся с той же проблемой.
Я уже не знаю, почему он не будет работать, когда я вернусь с работы, я снова попробую его на своем рабочем столе и посмотрю, все ли работает. (Это должно быть, я не внес никаких изменений в сценарий)
Если бы кто-нибудь мог помочь мне здесь, это было бы удивительно. Я надеялся, что все это сделано до сегодняшнего дня и настроено как запланированное задание, так что оно начнет работать, но, похоже, оно хочет вызвать у меня еще несколько проблем.
Скрипт находится ниже:
Option Explicit
Dim oFSO, oFolder, sDirectoryPath, sDestinationPath, sOutputFilename, Shell, sFileExt, sFilePrefix
Dim oFileCollection, oFile, sDir
Dim iDaysOld
Set Shell = WScript.CreateObject("WScript.Shell")
'Specify Directory Path From Where You want to clear the old files 'Also where you want destination for zip
sDirectoryPath = "C:\Windows\System32\winevt\Logs\"
sDestinationPath = "C:\Script\files\outzips\"
sOutputFilename = shell.ExpandEnvironmentStrings("%COMPUTERNAME%")
sFileExt = ".evtx"
sFilePrefix = "Archive*"
' Specify Number of Days Old File to Delete
iDaysOld = 7
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sDirectoryPath)
Set oFileCollection = oFolder.Files
For each oFile in oFileCollection
'Specify the Extension of file that you want to delete 'and the number with Number of character in the file extension
If LCase(oFSO.GetExtensionName(oFile.Name)) = ".evtx" Then
If oFile.DateLastModified < (Date() - iDaysOld) Then
oFile.Delete(True)
End If
End If
Next
Set oFSO = Nothing
Set oFolder = Nothing
Set oFileCollection = Nothing
Set oFile = Nothing
Dim Command, RetVal
Dim d : d = Date()
Dim dateStr : dateStr = Year(d) & "-" & Right("00" & Month(d), 2) & "-" & Right("00" & Day(d), 2)
Dim t : t = Time()
Dim timeStr: timeStr = Hour(t) & "-" & Right("00" & Minute(t), 2) & "-" & Right("00" & Second(t), 2)
Command = """C:\Program Files\7-zip\7z.exe"" a " & sDestinationPath & sOutputFilename & "-" & dateStr & "-" & timeStr & ".zip " & sDirectoryPath & sFilePrefix & sFileExt
RetVal = Shell.Run(Command,0,true)
Желаю этого. Я должен был сохранить файл события, начиная с Archive, прежде чем я начал этот процесс, чтобы он что-то нашел. Собираюсь посмотреть на это снова завтра с его выходных и еще не попытался это исправить. – parchambeau