Question Donner un poisson ou apprendre à pêcher ?

Plus d'informations
il y a 15 ans 2 mois #9139 par jojo
Hello

Arnaud m'a codé un script qui vérifie si un service est déclenché à l'aide d'un event...le voici:

[code:1]$serviceName = 'Audiosrv'
$query = \"Select * From __InstanceOperationEvent
within 3
Where TargetInstance ISA 'Win32_service'
AND TargetInstance.Name='$serviceName'\"
$action =
{
if ( (Get-Service $serviceName).Status -ne 'running' )
{
Write-Warning \"Démarrage du service $serviceName\"
Start-Service $serviceName
}
}

Register-WMIEvent -query $query -sourceIdentifier \"ArretService\" –action $action
[/code:1]

ma question est:


pourquoi avoir choisi la classe __InstanceOperationEvent
parmi ceux-ci:

[code:1] PS>gwmi -List _*event*[/code:1]

et pourquoi le 3 dans:

[code:1] within 3 [/code:1]


merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 2 mois #9153 par xyz
Salut,
le choix de __InstanceOperationEvent permet d'être informé lors des opérations suivants :
__InstanceCreationEvent
__InstanceModificationEvent
__InstanceDeletionEvent

Avec WITHIN 3, le moteur WMI interrogera ses events toutes les 3 secondes, c'est du pooling.
Si on précise une valeur supérieure on peut ne pas récupèrer certains évenements, c'est l'inconvénient du pooling.

Voir aussi ce tutoriel .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 2 mois #9160 par jojo
merci Laurent B)

une dernière question, es-ce que ces types d'event's peuvent être déléguer au système au lieu de PS ? car si je comprends bien PS doit tourner tout le temps...merci d'avance

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 2 mois #9161 par xyz
Voir les types d'évenement WMI extrinsèque et intrinsèque dans le tutoriel cité.

La notification d'un changement sur les données standards de WMI s'appelle un événement intrinsèque.
Par exemple les évènements __InstanceCreationEvent ou __NamespaceDeletionEvent sont des événements intrinsèques.

La notification d'un changement qu'un provider fait pour définir un évènement le concernant s'appelle un évènement extrinsèque.
Par exemple, les providers System Registry, Power Management Event, et Win32 définissent leurs propres événements.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.038 secondes
Propulsé par Kunena