Question Abonement WMI

Plus d'informations
il y a 13 ans 2 mois #13465 par Nicolas
Abonement WMI a été créé par Nicolas
ReBonjour a tous :p

Loin de moi l'idée de spammer mais j'avouerais que j'ai peut-être un peu sous-estimé la complexité de mon script le problème pour vous ètant que j'aime le travail fini :p

Donc voila pour écouter mes fichiers de log je fais appelle a la commande

[code:1]
$query = \"SELECT * FROM __instancecreationevent
WITHIN 3
WHERE targetinstance ISA 'Win32_NTLogEvent'
AND targetinstance.Eventcode='4625'
AND targetinstance.logfile='Security'\"

$action = action

Register-WmiEvent -query $query -SourceId 'test' -Action $action[/code:1]

Si je fais cela une fois que la commande sera lancé et qu'elle aura executé l'action ce remet t'elle automatiquement en écoute ou je suis obligé de la faire rentrer dans une boucle type

[code:1]while ($quit)
{
$query = \"SELECT * FROM __instancecreationevent
WITHIN 3
WHERE targetinstance ISA 'Win32_NTLogEvent'
AND targetinstance.Eventcode='4625'
AND targetinstance.logfile='Security'\"

$action = action

Register-WmiEvent -query $query -SourceId 'test' -Action $action
$quit = read-host
}[/code:1]

j'ai remarqué aussi que même si je procède à un
[code:1]Clear-EventLog Security[/code:1]
Security étant le journal que j'écoute mon script e lance d'office une fois alors que j'aimerais qu'il se lance que lorsque l'event existe.

Merci d'avance pour vos réponses

Nico<br><br>Message édité par: Zarko, à: 28/12/12 14:10

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

Plus d'informations
il y a 13 ans 2 mois #13466 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Abonement WMI
Pour [code:1]$action = action[/code:1]
Qu'appelles-tu exactement comme code ?
Zarko écrit:

l'action ce remet t'elle automatiquement en écoute ou je suis obligé de la faire rentrer dans une boucle type

Il y a qq temps que je n'ai pas utilisé les event WMI, mais si je me souviens bien, c'est un événement qui est déclenché par WMI, donc pas besoin de boucle qui est elle est dédié au event synchrone (j'attend un event et un seul).

Dans ma signature tu trouveras un lien vers des tuto, dont un sur WMI et un autre sur les event. Il y a de quoi étudier le sujet.
Zarko écrit:

Security étant le journal que j'écoute mon script e lance d'office une fois alors que j'aimerais qu'il se lance que lorsque l'event existe.

Dans ce cas, véfifie déjà les propriétés de l'objet qui déclenche l'event. Voir le détail dans les tutos cités.

Quelles version d'OS cibles-tu ?

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 2 mois #13467 par Nicolas
Réponse de Nicolas sur le sujet Re:Abonement WMI

Pour [code:1]$action = action[/code:1]
Qu'appelles-tu exactement comme code ?
l'ensemble de mon code qui sert a ajouter mes ip si elles n'existent pas ce qui implique la recherche ou l'incrémentation de leur compteur respectif.


[code:1]Il y a qq temps que je n'ai pas utilisé les event WMI, mais si je me souviens bien, c'est un événement qui est déclenché par WMI, donc pas besoin de boucle qui est elle est dédié au event synchrone (j'attend un event et un seul).

Dans ma signature tu trouveras un lien vers des tuto, dont un sur WMI et un autre sur les event. Il y a de quoi étudier le sujet.
Zarko écrit:

Security étant le journal que j'écoute mon script e lance d'office une fois alors que j'aimerais qu'il se lance que lorsque l'event existe.

Dans ce cas, véfifie déjà les propriétés de l'objet qui déclenche l'event. Voir le détail dans les tutos cité[/code:1]

Ca va je vais regardé à ca et je reviendrais vers vous après .

[code:1]Quelles version d'OS cibles-tu ? [/code:1]

Windows server 2008 / 2008 R2.

Je vais de ce pas aller bouqiner t'es tutos .

merci

nico

déso j'ai un peu galeré avec la mise en page :p

Message édité par: Zarko, à: 28/12/12 18:53<br><br>Message édité par: Zarko, à: 28/12/12 18:54

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

Plus d'informations
il y a 13 ans 2 mois #13468 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Abonement WMI
Zarko écrit:

Je vais de ce pas aller bouqiner t'es tutos.

Les lire, c'est juste insuffisant :whistle:
Zarko écrit:

déso j'ai un peu galeré avec la mise en page

Je vois ça, c'est le métier qui rentre :)

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 2 mois #13483 par Nicolas
Réponse de Nicolas sur le sujet Re:Abonement WMI
Je suis occupé de faire des tests et j'ai de choses bizares qui se passe :p

Lorsque je fait ce code immédiatement tiré du livre qui est sencé écouté l'ouveture de l'applicaiton paint.exe et me l'écrire dans le fichier c:\temp\test

[code:1]$query = \&quot;SELECT * FROM __InstanceCreationEvent
WITHIN 3
WHERE Targetinstance ISA 'Win32_process'
AND TargetInstance.name='mspaint.exe'\&quot;

$action = {\&quot;une instance de MSPaint vient d etre cree à $($event.timegenerated).\&quot; | Out-File c:\temp\test.txt}

register-wmievent -query $query -sourceid 'paint' -action $ation[/code:1]

cependant rien ne se crée et lorsque je lance mon script et que je fait un

[code:1]get-eventsubscriber[/code:1]

il me dit que l'evenement a déjà eu lieu alors que je n'ai jamais lancé paint.

[code:1]PS C:\Users\Administrator&gt; Get-EventSubscriber


SubscriptionId : 36
SourceObject : System.Management.ManagementEventWatcher
EventName : EventArrived
SourceIdentifier : paint
Action :
HandlerDelegate :
SupportEvent : False
ForwardEvent : False

[/code:1]


je sais pas si ca change mais je crée mes script dans powershell ISE et je les lance directement depuis l'éditeur.


Nico

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

Plus d'informations
il y a 13 ans 2 mois #13485 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Abonement WMI
Zarko écrit:

il me dit que l'evenement a déjà eu lieu alors que je n'ai jamais lancé paint.

C'est toi qui interpréte les informations affichées.
Get-EventSubscriber renvoit la liste des gestionnaires d'événements et pas les événements déclenchés.

Le système déclenche un event et le transmet à un gestionnaire s'il en existe un.
Comme ici tu déclenches une action l'event est consommé et n'est plus acessible via Get-Event, pour le consulter :
[code:1]
$query = \&quot;SELECT * FROM __InstanceCreationEvent
WITHIN 3
WHERE Targetinstance ISA 'Win32_process'
AND TargetInstance.name='notepad.exe'\&quot;

register-wmievent -query $query -sourceid 'Notepad'
Notepad
sleep 2
Get-Event
[/code:1]
Quant au nom donné par PS, voir ces liens :
msdn.microsoft.com/fr-fr/library/system....ntargs(v=vs.80).aspx
msdn.microsoft.com/fr-fr/library/system....events(v=vs.80).aspx

Tutoriels PowerShell

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

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