2009-09-25 18 views

Respuesta

11

Mire los documentos en el cmdlet Register-ObjectEvent. Asegúrese de usar el parámetro -full. Tiene algunos buenos ejemplos de uso incluido éste:

$timer = New-Object Timers.Timer 
$timer.Interval = 500 
$timer.Start() 
$job = Register-ObjectEvent -inputObject $timer -eventName Elapsed ` 
     -sourceIdentifier Timer.Random ` 
     -Action {$random = Get-Random -Min 0 -Max 100; $random} 
Receive-Job $job 

También puede ser que desee comprobar fuera de este PowerShell Eventing QuickStart blog post. Tenga en cuenta que algunos de los nombres de los cmdlet han cambiado, p. Get/Remove-PsEvent ahora es solo Get/Remove-Event.

+0

No entiendo cuál debería ser el resultado de este script. Nada se muestra en la consola. ¿Cómo leo el valor de '$ random'? –

+0

@isme Use el operador de llamada en el trabajo: '& $ job.module {$ random}'. –

+0

@isme Hablando contigo mismo, ¿eh? :-) Por cierto, acabo de modificar la respuesta para usar el cmdlet Receive-Job. Pero tu sugerencia también estaría bien. –

Cuestiones relacionadas