2009-09-25 8 views

Répondre

11

Examinez les documents figurant sur la cmdlet Register-ObjectEvent. Assurez-vous d'utiliser le paramètre -full. Il a quelques bons exemples d'utilisation dont celui-ci:

$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 

Vous pouvez également consulter ce PowerShell Eventing QuickStart blog post. Notez que certains des noms de cmdlets ont changé, par ex. Get/Remove-PsEvent est maintenant juste Get/Remove-Event.

+0

Je ne comprends pas ce que la sortie de ce script devrait être. Rien ne s'affiche dans la console. Comment lire la valeur de $ random? –

+0

@isme Utilisez l'opérateur d'appel sur le travail: '& $ job.module {$ random}'. –

+0

@isme Parler à vous-même, hein? :-) BTW Je viens de modifier la réponse pour utiliser la cmdlet Receive-Job. Mais votre suggestion serait également bien. –

Questions connexes