Register-CimIndicationEvent
Подписывается на признаки с помощью выражения фильтра или выражения запроса.
Синтаксис
Register-CimIndicationEvent
[-Namespace <String>]
[-ClassName] <String>
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-ClassName] <String>
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-Query] <String>
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-Query] <String>
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Описание
Этот командлет доступен только на платформе Windows.
Register-CimIndicationEvent
Командлет подписывается на признаки с помощью имени класса указания или выражения запроса. Используйте параметр SourceIdentifier, дающий имя подписке.
Этот командлет возвращает объект EventSubscription . Этот объект можно использовать для отмены подписки.
Примеры
Пример 1. Регистрация событий, созданных классом
Этот пример подписывается на события, созданные классом с именем Win32_ProcessStartTrace. Этот класс вызывает событие при запуске процесса.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"
Командлет Get-Event
получает события с подпиской ProcessStarted . Дополнительные сведения см. в разделе Get-Event.
Примечание.
В этом примере необходимо запустить PowerShell от имени администратора.
Пример 2. Регистрация событий с помощью запроса
В этом примере используется запрос для подписки на событие, созданное при каждом изменении экземпляра класса с именем Win32_LocalTime.
$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"
Пример 3. Запуск скрипта при поступлении события
В этом примере показано, как использовать действие в ответ на событие. Переменная содержит блок скрипта для Action, который использует $event
переменную $action
для доступа к событию, полученному из CIM.
$action = {
$name = $event.SourceEventArgs.NewEvent.ProcessName
$id = $event.SourceEventArgs.NewEvent.ProcessId
Write-Host -Object "New Process Started : Name = $name
ID = $id"
}
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action
Дополнительные сведения см. в Win32_ProcessStartTrace.
Пример 4. Регистрация событий на удаленном компьютере
Этот пример подписывается на события на удаленном компьютере с именем Server01. События, полученные от сервера CIM, хранятся в очереди событий в текущем сеансе PowerShell, а затем запускает локальный Get-Event
объект для получения событий.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"
Параметры
-Action
Задает команды, обрабатывающие события. Команды, указанные этим параметром, выполняются при возникновении события, а не отправки события в очередь событий. Заключите команды в фигурные скобки ({}
) для создания блока скрипта.
Блок скрипта, указанный с помощью действия, может включать $Event
переменные , $EventSubscriber
$Sender
$SourceEventArgs
и $SourceArgs
автоматические переменные, предоставляющие сведения о событии в блок скрипта Action. Дополнительные сведения см. в разделе "Об автоматических переменных".
Тип: | ScriptBlock |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-CimSession
Выполняет команду с помощью указанного сеанса CIM. Введите переменную, содержащую сеанс CIM, или команду, которая создает или получает сеанс CIM, например New-CimSession
командлеты или Get-CimSession
командлеты. Дополнительные сведения см. в about_CimSession.
Тип: | CimSession |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ClassName
Указывает класс указания, которому вы подписываетесь. Вы можете использовать завершение вкладки для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ComputerName
Указывает имя компьютера, на котором требуется выполнить операцию CIM. Можно указать полное доменное имя (FQDN), имя NetBIOS или IP-адрес.
При указании этого параметра командлет создает временный сеанс для указанного компьютера с помощью протокола WsMan. Если этот параметр не указан, командлет выполняет операцию в локальной системе с помощью объектной модели компонента (COM).
Если на одном компьютере выполняются несколько операций, подключитесь к сеансу CIM для повышения производительности.
Тип: | String |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Forward
Указывает, что события для подписки перенаправляются в сеанс на локальном компьютере. Этот параметр используется при регистрации событий, полученных на удаленном компьютере или в удаленном сеансе.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-MaxTriggerCount
Параметр, указывающий, что подписчик должен автоматически отменить регистрацию после активации в течение указанного времени. Если значение равно нулю или равно нулю, количество активаций события не ограничено без отмены регистрации.
Тип: | Int32 |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-MessageData
Указывает дополнительные данные, которые необходимо связать с этой подпиской на событие. Значение этого параметра отображается в свойстве MessageData всех событий, связанных с этой подпиской.
Тип: | PSObject |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Namespace
Указывает пространство имен для операции CIM. Пространство имен по умолчанию — root/cimv2. Вы можете использовать завершение вкладки для просмотра списка пространств имен, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-OperationTimeoutSec
Указывает время ожидания командлетом ответа от компьютера. По умолчанию значение этого параметра равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера.
Если параметр OperationTimeoutSec имеет значение меньше времени ожидания надежного повтора подключения в течение 3 минут, сетевые сбои, которые длились больше, чем значение параметра OperationTimeoutSec, невозможно восстановить, так как операция на сервере истекает до повторного подключения клиента.
Тип: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Query
Указывает запрос, выполняемый на сервере CIM. Если указанное значение содержит двойные кавычки "
, одинарные кавычки '
или обратную косую черту \
, необходимо экранировать эти символы, префиксируя их символом обратной косой черты. Если указанное значение использует оператор WQL LIKE, необходимо экранировать следующие символы, заключив их в квадратные скобки []
: процент %
, подчеркивание _
или открытие квадратной скобки [
.
Тип: | String |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-QueryDialect
Указывает язык запросов, используемый для параметра query . Допустимые значения для этого параметра: WQL или CQL. Значение по умолчанию — WQL.
Тип: | String |
Position: | Named |
Default value: | WQL |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SourceIdentifier
Указывает имя подписки. Указанное имя должно быть уникальным в текущем сеансе. Значение по умолчанию — это GUID, который назначает PowerShell. Это значение отображается в значении свойства SourceIdentifier объекта подписчика и всех объектов событий, связанных с этой подпиской.
Тип: | String |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-SupportEvent
Указывает, что подписка на событие скрыта. Этот параметр используется, если текущая подписка является частью более сложного механизма регистрации событий и не должна обнаруживаться независимым образом.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объект EventSubscription .
Примечания
PowerShell включает следующие псевдонимы для Register-CimIndicationEvent
:
- Windows:
rcie
Этот командлет доступен только на платформах Windows.
Связанные ссылки
PowerShell