Рейтинг:0

Get-EventLog -Log «Microsoft-Windows-Ntfs/Operational» завершается с ошибкой «не существует»

флаг ru

Я делаю скрипт, который извлекает все непустые журналы и сохраняет их как evtx, csv или xml. У меня скрипт работает для базовых логов (приложения, безопасности, системы и т.д.) и тех, в которых есть пробелы. Однако я продолжаю получать ошибки со всеми, у которых есть косая черта (/) в них (напр. Microsoft-Windows-Ntfs/Оперативный). Я попытался поменять местами / с тире, пробелами, сокращениями и символами подчеркивания: все они приводят к приведенной ниже ошибке.

Примечание: я использую -новейшие 20 в коде для тестирования, чтобы облегчить нагрузку и сэкономить время.

Пример кода (получите одинаковые результаты с любым):

get-eventlog -log "Microsoft-Windows-Ntfs/Operational" - новейшие 20

ИЛИ ЖЕ

$Logname = "Microsoft-Windows-Ntfs/Operational"
get-eventlog -log $logname -newest 20`

ОШИБКА:

get-eventlog : журнал событий «Microsoft-Windows-Ntfs/Operational» на компьютере «.». не существует.
В строке:1 символ:1
+ get-eventlog -log "Microsoft-Windows-Ntfs/Operational" - новейшие 20
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
    + CategoryInfo: NotSpecified: (:) [Get-EventLog], InvalidOperationException
    + FullyQualifiedErrorId: System.InvalidOperationException,Microsoft.PowerShell.Commands.GetEventLogCommand
Рейтинг:1
флаг in

Get-EventLog видит только это

> получить-журнал-список

  Максимальное (K) сохранение записей в журнале OverflowAction
  ------ ------ -------------- ------- ---
  20–480 0 Перезаписать при необходимости 18–888 Приложение
  20–480 0 OverwriteAsNeeded 0 HardwareEvents
     512 7 OverwriteOlder 0 Internet Explorer
  20–480 0 OverwriteAsNeeded 0 Служба управления ключами
  15–360 0 Перезаписывать при необходимости 19–094 Диспетчер операций
                                              Безопасность
   8-192 0 OverwriteAsNeeded 7-012 Клиент Symantec Endpoint Protection
  20–480 0 Перезаписывать по мере необходимости 102–800 Система
  15–360 0 Перезаписывать при необходимости 14–144 Windows PowerShell

Кроме того, в документации также указано

Get-EventLog использует API Win32, который устарел. Результаты могут быть неточными. Используйте `Get-WinEvent? вместо этого командлет.

Таким образом, используйте Get-WinEvent, который отлично работает:

Get-WinEvent -LogName "Microsoft-Windows-Ntfs/Operational"


   ProviderName: Microsoft-Windows-Ntfs

Сообщение TimeCreated Id LevelDisplayName
----------- ------------------ -------
21.06.2021 01:24:48 142 Информация Сводка использования дискового пространства с момента последнего события:...
21.06.2021 01:24:38 142 Информация Сводка использования дискового пространства с момента последнего события:...
21.06.2021 01:24:38 142 Информация Сводка использования дискового пространства с момента последнего события:...
20.06.2021 01:24:44 142 Информация Сводка использования дискового пространства с момента последнего события:...
fusione_2008 avatar
флаг ru
Замена Get-EventLog >>FOR>> Get-WinEvent, похоже, решила проблему. Спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.