#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