Register-CimIndicationEvent
使用筛选器表达式或查询表达式订阅指示。
语法
ClassNameComputerSet (默认值)
Register-CimIndicationEvent
[-ClassName] <String>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
ClassNameSessionSet
Register-CimIndicationEvent
[-ClassName] <String>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
-CimSession <CimSession>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
QueryExpressionSessionSet
Register-CimIndicationEvent
[-Query] <String>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
-CimSession <CimSession>
[-Namespace <String>]
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
QueryExpressionComputerSet
Register-CimIndicationEvent
[-Query] <String>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-Namespace <String>]
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
说明
此 cmdlet 仅在 Windows 平台上可用。
Register-CimIndicationEvent cmdlet 使用指示类名或查询表达式订阅指示。 使用 SourceIdentifier 参数为订阅命名。
此 cmdlet 返回 EventSubscription 对象。 可以使用此对象取消订阅。
示例
示例 1:注册类生成的事件
此示例订阅由名为 Win32_ProcessStartTrace的类生成的事件。 每当进程启动时,此类就会引发事件。
$event = @{
ClassName = 'Win32_ProcessStartTrace'
SourceIdentifier = 'ProcessStarted'
}
Register-CimIndicationEvent @event
Get-Event -SourceIdentifier "ProcessStarted"
Get-Event cmdlet 使用 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 变量来访问从 CIM 接收的事件。
$action = {
$name = $Event.SourceEventArgs.NewEvent.ProcessName
$id = $Event.SourceEventArgs.NewEvent.ProcessId
Write-Host -Object "New Process Started : Name = $name ID = $id"
}
$event = @{
ClassName = 'Win32_ProcessStartTrace'
SourceIdentifier = 'ProcessStarted'
Action = $action
}
Register-CimIndicationEvent @event
有关详细信息,请参阅 Win32_ProcessStartTrace。
示例 4:在远程计算机上注册事件
此示例订阅名为 Server01 的远程计算机上的事件。 从 CIM 服务器接收的事件存储在当前 PowerShell 会话中的事件队列中,然后运行本地 Get-Event 来检索事件。
$event = @{
ClassName = 'Win32_ProcessStartTrace'
SourceIdentifier = 'ProcessStarted'
ComputerName = 'Server01'
}
Register-CimIndicationEvent @event
Get-Event -SourceIdentifier "ProcessStarted"
参数
-Action
指定处理事件的命令。 引发事件时,此参数指定的命令将运行,而不是将事件发送到事件队列。 将命令括在大括号({})中以创建脚本块。
使用 操作 指定的脚本块可以包括 $Event、$EventSubscriber、$Sender、$SourceEventArgs和 $SourceArgs 自动变量,这些变量向 操作 脚本块提供有关事件的信息。 有关详细信息,请参阅 关于自动变量。
参数属性
| 类型: | ScriptBlock |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CimSession
使用指定的 CIM 会话运行命令。 输入包含 CIM 会话的变量,或创建或获取 CIM 会话的命令,例如 New-CimSession 或 Get-CimSession cmdlet。 有关详细信息,请参阅 about_CimSession。
参数属性
| 类型: | CimSession |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ClassNameSessionSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
QueryExpressionSessionSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ClassName
指定要订阅的指示类。 可以使用 Tab 补全浏览类列表,因为 PowerShell 从本地 WMI 服务器获取类列表,以提供类名列表。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ClassNameComputerSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
ClassNameSessionSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ComputerName
指定要在其中运行 CIM 操作的计算机的名称。 可以指定完全限定的域名(FQDN)、NetBIOS 名称或 IP 地址。
如果指定此参数,cmdlet 将使用 WsMan 协议创建到指定计算机的临时会话。 如果未指定此参数,cmdlet 将使用组件对象模型(COM)在本地系统上执行操作。
如果在同一台计算机上执行了多个操作,请使用 CIM 会话进行连接以提高性能。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 中国区, 服务器名称 |
参数集
ClassNameComputerSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
QueryExpressionComputerSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Forward
指示订阅的事件将转发到本地计算机上的会话。 在远程计算机或远程会话中注册事件时,请使用此参数。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-MaxTriggerCount
指示在触发指定时间后,应自动取消注册订阅服务器的参数。 如果值相等或小于零,则触发事件次数没有限制,无需注销。
参数属性
| 类型: | Int32 |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-MessageData
指定要与此事件订阅关联的任何其他数据。 此参数的值显示在与此订阅关联的所有事件的 MessageData 属性中。
参数属性
| 类型: | PSObject |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Namespace
指定 CIM 操作的命名空间。 默认命名空间 根/CIMV2。 可以使用 Tab 完成浏览命名空间列表,因为 PowerShell 从本地 WMI 服务器获取命名空间列表以提供命名空间列表。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-OperationTimeoutSec
指定 cmdlet 等待计算机响应的时间量。 默认情况下,此参数的值为 0,这意味着 cmdlet 使用服务器的默认超时值。
如果 OperationTimeoutSec 参数设置为小于可靠连接重试超时 3 分钟的值,则超过 OperationTimeoutSec 参数的值的网络故障不可恢复,因为服务器上的操作在客户端重新连接之前超时。
参数属性
| 类型: | UInt32 |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | OT |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Query
指定要在 CIM 服务器上运行的查询。 如果指定的值包含双引号 "、单引号 '或反斜杠 \,则必须将这些字符作为反斜杠字符的前缀来转义这些字符。 如果指定的值使用 WQL LIKE 运算符,则必须将以下字符括在方括号 []中:百分比 %、下划线 _或左方括号 [来转义以下字符。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
QueryExpressionSessionSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
QueryExpressionComputerSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-QueryDialect
指定用于 查询 参数的查询语言。 此参数的可接受值为:WQL 或 CQL。 默认值为 WQL
参数属性
| 类型: | String |
| 默认值: | WQL |
| 支持通配符: | False |
| 不显示: | False |
参数集
QueryExpressionSessionSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
QueryExpressionComputerSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-SourceIdentifier
指定订阅的名称。 指定的名称在当前会话中必须是唯一的。 默认值是 PowerShell 分配的 GUID。 此值显示在订阅服务器对象的 SourceIdentifier 属性和与此订阅关联的所有事件对象的值中。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-SupportEvent
指示事件订阅已隐藏。 当当前订阅是更复杂的事件注册机制的一部分且不应独立发现时,请使用此参数。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
None
不能用管道将对象传送到此 cmdlet。
输出
Object
此 cmdlet 返回 EventSubscription 对象。
备注
PowerShell 包含以下与 Register-CimIndicationEvent相关的别名:
- 窗户:
rcie
此 cmdlet 仅在 Windows 平台上可用。