With Register-ObjectEvent I can pass a value in the MessageData parameter and get it when the event triggers (MessageData 42).PS> $timer = New-Object Timers.TimerPS> $timer.Interval = 500PS> $job = Register-ObjectEvent -InputObject $timer -EventName Elapsed -SourceIdentifier Timer.Random -MessageData 42 -Action { $event | fl * }PS> $timer.Enabled = $truePS> Receive-Job $jobComputerName :RunspaceId : 8f50ec1a-0121-43cf-9d7b-a16715c5c3beEventIdentifier : 12Sender : System.Timers.TimerSourceEventArgs : System.Timers.ElapsedEventArgsSourceArgs : {System.Timers.Timer, System.Timers.ElapsedEventArgs}SourceIdentifier : Timer.RandomTimeGenerated : 1/4/2013 5:13:37 PMMessageData : 42However, MessageData returns empty when using the Register-EngineEvent cmdlet PS> Register-EngineEvent -SourceIdentifier foo -MessageData 42 -Action { $event.MessageData }PS> New-Event -SourceIdentifier foo ComputerName : RunspaceId : 27ba0e03-ff61-4958-9d6f-ab3a19359141EventIdentifier : 7Sender : SourceEventArgs : SourceArgs : {}SourceIdentifier : fooTimeGenerated : 24/12/2012 12:47:39MessageData :
Have you seen this problem before in this product?