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
содержит блок скрипта для action, который использует $event
переменную для доступа к событию, полученному из 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 . Дополнительные сведения см. в разделе Об автоматических переменных.
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CimSession
Выполняет команду с использованием указанного сеанса CIM. Введите переменную, содержащую сеанс CIM, или команду, которая создает или получает сеанс CIM, например New-CimSession
командлеты или Get-CimSession
. Дополнительные сведения см. в разделе about_CimSession.
Type: | CimSession |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClassName
Указывает класс индикации, на который вы подписываетесь. Вы можете использовать завершение табуляции для просмотра списка классов, так как PowerShell получает список классов с локального сервера WMI для предоставления списка имен классов.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Указывает имя компьютера, на котором требуется выполнить операцию CIM. Вы можете указать полное доменное имя (FQDN), NetBIOS-имя или IP-адрес.
Если указать этот параметр, командлет создает временный сеанс для указанного компьютера по протоколу WsMan. Если этот параметр не указан, командлет выполняет операцию в локальной системе с помощью компонентной объектной модели (COM).
Если на одном компьютере выполняется несколько операций, подключитесь с помощью сеанса CIM для повышения производительности.
Type: | String |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Forward
Указывает, что события для подписки перенаправляются в сеанс на локальном компьютере. Этот параметр используется при регистрации событий, полученных на удаленном компьютере или в удаленном сеансе.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxTriggerCount
Параметр, указывающий, что подписчик должен быть автоматически отменен после активации в течение указанного времени. Если значение равно или меньше нуля, нет ограничений на количество запусков события без отмены регистрации.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MessageData
Указывает любые дополнительные данные, которые необходимо связать с этой подпиской на события. Значение этого параметра отображается в свойстве MessageData всех событий, связанных с этой подпиской.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
Задает пространство имен для операции CIM. Пространство имен по умолчанию — root/cimv2. Вы можете использовать завершение табуляции для просмотра списка пространств имен, так как PowerShell получает список пространств имен с локального сервера WMI для предоставления списка пространств имен.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OperationTimeoutSec
Указывает время, в течение которого командлет ожидает ответа от компьютера. По умолчанию значение этого параметра равно 0, что означает, что командлет использует значение времени ожидания по умолчанию для сервера.
Если для параметра OperationTimeoutSec задано значение меньше, чем время ожидания повторной попытки надежного подключения в 3 минуты, то сбои сети, которые длятся больше, чем значение параметра OperationTimeoutSec , невозможно восстановить, так как время ожидания операции на сервере истекает, прежде чем клиент сможет повторно подключиться.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Query
Указывает запрос, выполняемый на сервере CIM. Если указанное значение содержит двойные кавычки "
, одинарные кавычки '
или обратную косую черту \
, необходимо экранировать эти символы, префиксируя их символом обратной косой черты. Если указанное значение использует оператор WQL LIKE, необходимо экранировать следующие символы, заключив их в квадратные скобки []
: percent %
, подчеркивание _
или открывающую квадратную скобку [
.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-QueryDialect
Указывает язык запроса, используемый для параметра Query . Допустимые значения для этого параметра: WQL или CQL. Значение по умолчанию — WQL.
Type: | String |
Position: | Named |
Default value: | WQL |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceIdentifier
Указывает имя подписки. Указанное имя должно быть уникальным в текущем сеансе. Значением по умолчанию является GUID, который назначает PowerShell. Это значение отображается в значении свойства SourceIdentifier объекта подписчика и всех объектов событий, связанных с этой подпиской.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SupportEvent
Указывает, что подписка на события скрыта. Этот параметр используется, если текущая подписка является частью более сложного механизма регистрации событий и не должна обнаруживаться независимым образом.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
None
Вы не можете передавать объекты в этот командлет.
Выходные данные
Этот командлет возвращает объект EventSubscription .
Примечания
PowerShell включает следующие псевдонимы для Register-CimIndicationEvent
:
- Windows:
rcie
Этот командлет доступен только на платформах Windows.