Wait-Event
Attend qu’un événement particulier soit déclenché avant de continuer à s’exécuter.
Syntaxe
Default (Par défaut)
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
Description
L’applet de commande Wait-Event interrompt l’exécution d’un script ou d’une fonction jusqu’à ce qu’un événement particulier soit déclenché. L’exécution reprend lorsque l’événement est détecté. Pour annuler l’attente, appuyez sur Ctrl+C.
Cette fonctionnalité offre une alternative au sondage pour un événement. Il vous permet également de déterminer la réponse à un événement de deux façons différentes :
- utiliser le paramètre Action de l’abonnement aux événements
- attendre le retour d'un événement, puis répondre par une action
Exemples
Exemple 1 : Attendre l’événement suivant
Cet exemple attend le déclenchement de l'événement suivant.
Wait-Event
Exemple 2 : Attendre un événement avec un identificateur source spécifié
Cet exemple attend l’événement suivant déclenché et qui a un identificateur source de ProcessStarted.
Wait-Event -SourceIdentifier "ProcessStarted"
Exemple 3 : Attendre un événement de minuteur écoulé
Cet exemple utilise l’applet de commande Wait-Event pour attendre un événement de minuteur sur un minuteur défini pour 2000 millisecondes.
$Timer = New-Object Timers.Timer
$objectEventArgs = @{
InputObject = $Timer
EventName = 'Elapsed'
SourceIdentifier = 'Timer.Elapsed'
}
Register-ObjectEvent @objectEventArgs
$Timer.Interval = 2000
$Timer.Autoreset = $false
$Timer.Enabled = $true
Wait-Event Timer.Elapsed
ComputerName :
RunspaceId : bb560b14-ff43-48d4-b801-5adc31bbc6fb
EventIdentifier : 1
Sender : System.Timers.Timer
SourceEventArgs : System.Timers.ElapsedEventArgs
SourceArgs : {System.Timers.Timer, System.Timers.ElapsedEventArgs}
SourceIdentifier : Timer.Elapsed
TimeGenerated : 4/23/2020 2:30:37 PM
MessageData :
Exemple 4 : Attendre un événement après un délai d’expiration spécifié
Cet exemple attend pendant 90 secondes le déclenchement de l'événement suivant qui soit doté de l'identificateur de source ProcessStarted. Si l’heure spécifiée expire, l’attente se termine.
Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
Paramètres
-SourceIdentifier
Spécifie l’identifiant de la source pour lequel cette applet de commande attend des événements.
Par défaut, Wait-Event attend tout événement.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Timeout
Le temps maximum, en secondes, pendant lequel Wait-Event attend que l'événement se produise. La valeur par défaut , -1, attend indéfiniment. Le minutage commence lorsque vous envoyez la commande Wait-Event.
Si l’heure spécifiée est dépassée, l’attente se termine et l’invite de commande revient, même si l’événement n’a pas été déclenché. Aucun message d’erreur n’est affiché.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | -1 |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | TimeoutSec |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
String
Sorties
PSEventArgs
Notes
Les événements, les abonnements aux événements et la file d’attente d’événements existent uniquement dans la session active. Si vous fermez la session active, la file d’attente d’événements est ignorée et l’abonnement à l’événement est annulé.