Question
Abonement WMI
- Nicolas
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 27
- Remerciements reçus 0
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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Qu'appelles-tu exactement comme code ?
Zarko écrit:
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).l'action ce remet t'elle automatiquement en écoute ou je suis obligé de la faire rentrer dans une boucle type
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:
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.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.
Quelles version d'OS cibles-tu ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Nicolas
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 27
- Remerciements reçus 0
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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
Les lire, c'est juste insuffisantJe vais de ce pas aller bouqiner t'es tutos.
Zarko écrit:
Je vois ça, c'est le métier qui rentredéso j'ai un peu galeré avec la mise en page
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Nicolas
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 27
- Remerciements reçus 0
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 = \"SELECT * FROM __InstanceCreationEvent
WITHIN 3
WHERE Targetinstance ISA 'Win32_process'
AND TargetInstance.name='mspaint.exe'\"
$action = {\"une instance de MSPaint vient d etre cree à $($event.timegenerated).\" | 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> 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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
C'est toi qui interpréte les informations affichées.il me dit que l'evenement a déjà eu lieu alors que je n'ai jamais lancé paint.
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 = \"SELECT * FROM __InstanceCreationEvent
WITHIN 3
WHERE Targetinstance ISA 'Win32_process'
AND TargetInstance.name='notepad.exe'\"
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.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Abonement WMI