2009-09-25 23 views

risposta

11

Guarda i documenti sul cmdlet Register-ObjectEvent. Assicurati di usare il parametro -full. Ha alcuni buoni esempi di utilizzo compreso questo:

$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 

si potrebbe anche voler verificare questa PowerShell Eventing QuickStart blog post. Si noti che alcuni dei nomi dei cmdlet sono stati modificati, ad es. Ottieni/Rimuovi-PsEvent ora è solo Get/Remove-Event.

+0

Non capisco quale dovrebbe essere l'output di questo script. Niente viene visualizzato nella console. Come leggo il valore di '$ random'? –

+0

@isme Utilizza l'operatore di chiamata sul lavoro: '& $ job.module {$ random}'. –

+0

@isme Parlando con te stesso, eh? :-) BTW Ho appena modificato la risposta per utilizzare il cmdlet Receive-Job. Ma il tuo suggerimento andrebbe bene. –

Problemi correlati