是否可以向powershell中的自定义对象添加事件?
我正在powershell中创建自定义对象。 此对象必须引发事件,但无法使用new event CMDLET指定事件名称。 我尝试使用add-member cmdlet添加事件,但powershell返回一个问题,指出“无法将事件分配给PSObject”。 还有其他方法执行此操作吗? 提前谢谢。是否可以向powershell中的自定义对象添加事件?,powershell,Powershell,我正在powershell中创建自定义对象。 此对象必须引发事件,但无法使用new event CMDLET指定事件名称。 我尝试使用add-member cmdlet添加事件,但powershell返回一个问题,指出“无法将事件分配给PSObject”。 还有其他方法执行此操作吗? 提前谢谢。 Germano-编辑,抱歉误读了问题。做了一个快速搜索,发现了 cmdletRegister EngineEvent和New Event可以帮助您注册和触发自己的事件: 对于新事件,您必须指定 -So
Germano-编辑,抱歉误读了问题。做了一个快速搜索,发现了
cmdlet
Register EngineEvent
和New Event
可以帮助您注册和触发自己的事件:
对于新事件
,您必须指定
:您自己的标识符-SourceIdentifier
:发出事件的对象-Sender
:参数数组-EventArguments
:参数对象-MessageData
New-Event -SourceIdentifier "MyOwnEvent" -EventArguments "A Param"
CmdletRegister EngineeEvent
允许您的代码订阅Windows PowerShell引擎事件,也可以订阅由新事件触发的事件
$evt1 = Register-EngineEvent -SourceIdentifier "MyOwnEvent" -Action {[console]::Beep(500,500)}
因此,现在您的对象可以有一个名为Event1的note属性,该属性的值为“MyOwnEvent”。一段代码可以使用register EngineEvent
注册到此事件,您的对象可以使用New event
触发此事件
$evt1 = Register-EngineEvent -SourceIdentifier "MyOwnEvent" -Action {[console]::Beep(500,500)}