Параметр maximumFileSize в Start-EtwTraceSession, похоже, не работает

#powershell #etw

#powershell #etw

Вопрос:

Я пытаюсь автоматизировать некоторые процессы сбора данных ETW. С этой целью я пишу сценарий Powershell. Сценарий включает в себя эту команду:

Start-EtwTraceSession -Name "leTestSession" -LocalFilePath "C:Temptraceit.etl" -FileMode Circular -MaximumFileSize 2000

Однако выполнение этой команды приводит к следующей ошибке:

New-EtwTraceSession : для текущего LogFileMode (0x9000002) требуется максимальный размер файла. При C:Windowssystem32WindowsPowerShellv1.0ModulesEventTracingManagementEventTracingManagement.psm1:93 символ: 5

  •  New-EtwTraceSession @PSBoundParameters
      
  •  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
    • CategoryInfo : InvalidArgument: (MSFT_EtwTraceSession:ROOT Microsoft …EtwTraceSession) >[New-EtwTraceSession], исключение CimException
    • FullyQualifiedErrorId: MI РЕЗУЛЬТАТ 4, новый-EtwTraceSession

Когда я посмотрел на (https://learn.microsoft.com/en-us/windows/win32/etw/logging-mode-constants?redirectedfrom=MSDN ), это предположило, что «Круговое» значение, по-видимому, соответствует значению 0x00000002 , а не 0x9000002 . Я попытался переопределить это, указав -LogFileMode 0x9000002 , но я все равно получил почти идентичный вывод ошибки (значение LogFileMode в сообщении об ошибке теперь 0x2 ).

Есть ли что-то, чего мне здесь не хватает?

Комментарии:

1. Я выполнил эту команду без ошибок. Вы работаете от имени администратора? Name : leTestSession LoggingModeNames : {EVENT_TRACE_USE_PAGED_MEMORY, EVENT_TRACE_INDEPENDENT_SESSION_MODE, EVENT_TRACE_PERSIST_ON_HYBRID_SHUTDOWN, EVENT_TRACE_FILE_MODE_CIRCULAR} LocalFilePath : C:Temptraceit.etl MaximumFileSize : 2000 MinimumBuffers : 8 MaximumBuffers : 30 FlushTimer : 0 ClockType : Performance

2. Я только что повторил его в консоли администратора, и у меня все та же ошибка. Но тот факт, что он вообще работает для вас, может указывать на то, что у меня какая-то локальная проблема с настройкой…

3. Ошибка упоминается New-EtwTraceSession , но ваш код говорит Start-EtwTraceSession . Похоже на 2 разные команды.

4. Хороший глаз! @marsze

5. И эта команда также отлично работает New-EtwTraceSession -Name leTestSession -LogFileMode 0x9000002 -LocalFilePath C:temptraceit.etl -MaximumFileSize 2000