2009-09-25 19 views

Odpowiedz

11

Zobacz dokumentację na apletu poleceń Register-ObjectEvent. Pamiętaj, aby użyć parametru -full. Ma jakieś dobre przykłady użycia w tym ten jeden:

$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 

kupili także sprawdzić to PowerShell Eventing QuickStart blog post. Zauważ, że niektóre nazwy cmdletów zostały zmienione, np. Get/Remove-PsEvent jest teraz tylko Get/Remove-Event.

+0

Nie rozumiem, jaki powinien być wynik tego skryptu. Nic nie wyświetla się na konsoli. Jak odczytać wartość '$ random'? –

+0

@isme Użyj operatora połączenia w zadaniu: '& $ job.module {$ random}'. –

+0

@isme Rozmowa z samym sobą, co? :-) BTW Właśnie zmodyfikowałem odpowiedź, aby użyć polecenia cmdlet Receive-Job. Ale twoja sugestia też byłaby w porządku. –

Powiązane problemy