New-WinEvent
Создает новое событие Windows для указанного поставщика событий.
Синтаксис
Default (По умолчанию)
New-WinEvent
[-ProviderName] <String>
[-Id] <Int32>
[-Version <Byte>]
[[-Payload] <Object[]>]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Командлет New-WinEvent создает событие трассировки событий для Windows (ETW) для поставщика событий.
Этот командлет можно использовать для добавления событий в каналы ETW из PowerShell.
Примеры
Пример 1. Создание события
New-WinEvent -ProviderName Microsoft-Windows-PowerShell -Id 45090 -Payload @("Workflow", "Running")
Эта команда использует командлет New-WinEvent для создания события 45090 для поставщикаWindows-PowerShell Майкрософт.
Пример 2. Получение шаблона для события
В этом примере Get-WinEvent используется для получения шаблона для идентификатора события 8007 от поставщика событий групповой политики. Обратите внимание, что событие имеет два формата.
В версии 0 поле IsMachine является логическим значением. В версии 1 поле IsMachine является целочисленным значением без знака.
(Get-WinEvent -ListProvider Microsoft-Windows-GroupPolicy).Events | Where-Object Id -EQ 8007
Id : 8007
Version : 0
LogLink : System.Diagnostics.Eventing.Reader.EventLogLink
Level : System.Diagnostics.Eventing.Reader.EventLevel
Opcode : System.Diagnostics.Eventing.Reader.EventOpcode
Task : System.Diagnostics.Eventing.Reader.EventTask
Keywords : {}
Template : <template xmlns="http://schemas.microsoft.com/win/2004/08/events">
<data name="PolicyElaspedTimeInSeconds" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="ErrorCode" inType="win:UInt32" outType="win:HexInt32"/>
<data name="PrincipalSamName" inType="win:UnicodeString" outType="xs:string"/>
<data name="IsMachine" inType="win:Boolean" outType="xs:boolean"/>
<data name="IsConnectivityFailure" inType="win:Boolean" outType="xs:boolean"/>
</template>
Description : Completed periodic policy processing for user %3 in %1 seconds.
Id : 8007
Version : 1
LogLink : System.Diagnostics.Eventing.Reader.EventLogLink
Level : System.Diagnostics.Eventing.Reader.EventLevel
Opcode : System.Diagnostics.Eventing.Reader.EventOpcode
Task : System.Diagnostics.Eventing.Reader.EventTask
Keywords : {}
Template : <template xmlns="http://schemas.microsoft.com/win/2004/08/events">
<data name="PolicyElaspedTimeInSeconds" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="ErrorCode" inType="win:UInt32" outType="win:HexInt32"/>
<data name="PrincipalSamName" inType="win:UnicodeString" outType="xs:string"/>
<data name="IsMachine" inType="win:UInt32" outType="xs:unsignedInt"/>
<data name="IsConnectivityFailure" inType="win:Boolean" outType="xs:boolean"/>
</template>
Description : Completed periodic policy processing for user %3 in %1 seconds.
Свойство описания содержит сообщение, которое записывается в журнал событий. Значения %3 и %1 являются заполнителями для значений, переданных в шаблон. Строка %3 заменяется значением, переданным в поле PrincipalSamName. Строка %1 заменяется значением, переданным в поле PolicyElaspedTimeInSeconds .
Пример 3. Создание нового события с помощью шаблона с версиями
В этом примере показано, как создать событие с помощью определенной версии шаблона.
$Payload = @(300, [uint32]'0x8001011f', $Env:USERNAME, 0, 1)
New-WinEvent -ProviderName Microsoft-Windows-GroupPolicy -Id 8007 -Version 1 -Payload $Payload
Get-WinEvent -ProviderName Microsoft-Windows-GroupPolicy -MaxEvents 1
ProviderName: Microsoft-Windows-GroupPolicy
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
5/4/2022 8:40:24 AM 8007 Information Completed periodic policy processing for user User1 in 300 seconds
Если значения полезных данных не соответствуют типам в шаблоне, событие регистрируется, но полезные данные содержат ошибку.
Параметры
-Id
Указывает идентификатор события, зарегистрированный в поставщике событий.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Payload
Полезные данные — это массив значений, передаваемых в качестве позиционных аргументов в шаблон событий. Значения вставляются в шаблон, чтобы создать сообщение для события. События могут иметь несколько версий шаблонов, использующих разные форматы.
Если значения полезных данных не соответствуют типам в шаблоне, событие регистрируется, но полезные данные содержат ошибку.
Свойства параметров
| Тип: | Object[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 2 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-ProviderName
Указывает поставщик событий, который записывает событие в журнал событий, например Microsoft-Windows-PowerShell. Поставщик событий ETW — это логическая сущность, которая записывает события в сеансы ETW.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Version
Указывает номер версии события. PowerShell преобразует число в требуемый тип байтов. Значение указывает версию события при определении разных версий одного события.
Свойства параметров
| Тип: | Byte |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
После записи события поставщиком в журнал событий можно использовать командлет Get-WinEvent для получения события из журнала событий.