Пытался кодировать через строку CMD, используя wevtutil для достижения желаемого результата;безуспешными.Позже нашёл / изменил код Get-EventLog здесь на этом сайте, который достигает 90% желаемого результата.
4 запроса:
1: в поле «Сообщение» получается многодополнительно я бы хотел уйти.Drop Product Name: и др.Я не кодер, так что не смейтесь.;) Что-то похожее на IF «Product Name», ТОГДА после клипа все.
Желаемый вывод: Сообщение: установщик Windows перенастроил продукт.
Текущий вывод: Сообщение: Установщик Windows перенастроил продукт.Название продукта: Клиент Configuration Manager.Версия продукта: 5.00.8634.1000.Язык продукта: 1033. Производитель: Microsoft Corporation.Успешное изменение конфигурации или состояние ошибки: 0.
2.Есть ли способ, посредством которого значение $ logname может автоматически использоваться в качестве значения Out-File?
Пример: $ logname = "Application"
$ arr |Out-File -FilePath c: \ Users \ bob \ Desktop \ Logs \ Application.txt
3.Есть ли в PS метод "Loop", который мог бы возвращать последовательные значения $ logname, пока список не будет заполнен?Хотите иметь возможность выполнить это для следующего списка, создавая, таким образом, отдельные выходные файлы .txt для каждого: Application, BitLockerMgmt, BitLockerOperational, BitLockerTracing, LocalSecurityAgent, MicrosoftOfficeAlerts, Security, System
4.Есть ли метод, который может добавить 1000-ю секунды к $ ($ event.TimeWritten)?
Желаемый результат: 18.09.2009 05: 49: 53.224
Текущий выход: 09/18/ 2019 05: 49: 53
Представить рабочий код PS ниже
$ logname = "Приложение"
$ events = Get-EventLog -LogName $ logname
$ arr = @ () $ counter = 1
foreach ($ event в $ events) {$ arr + = "$ ($ event.TimeWritten) Уровень: $ ($ event.EntryType), Поставщик событий: $ ($ event.Source), идентификатор: $ ($ event.EventID), сообщение: $ ($ event.Message) "$ counter ++}
$ arr |Out-File -FilePath c: \ Users \ bob \ Desktop \ Logs \ Application.txt