Question Réagir aux événements
- ptit_poulet
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 7 ans 2 mois #22988
par ptit_poulet
Réagir aux événements a été créé par ptit_poulet
Bonjour tout le monde,
Voila mon problème j'aimerai écrire un script qui réagit aux événements Windows. Mais voila je ne veux pas passer par les tâches planifiées mais directement avoir cela dans mon script.
J'ai trouvé comment surveiller un dossier par exemple avec IO.FileSystemWatcher ce qui me permet de pouvoir exécuter une action dès qu'une modification a eu lieu. Je cherche donc la même chose pour les journaux d'événements.
Est-ce que ça existe ? Car j'ai beau cherché je ne trouve pas...
Merci d'avance.
Voila mon problème j'aimerai écrire un script qui réagit aux événements Windows. Mais voila je ne veux pas passer par les tâches planifiées mais directement avoir cela dans mon script.
J'ai trouvé comment surveiller un dossier par exemple avec IO.FileSystemWatcher ce qui me permet de pouvoir exécuter une action dès qu'une modification a eu lieu. Je cherche donc la même chose pour les journaux d'événements.
Est-ce que ça existe ? Car j'ai beau cherché je ne trouve pas...
Merci d'avance.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 7 ans 2 mois #22990
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Réagir aux événements
Salut,
oui cela existe.
Tu peux connaitre les events via le cmdlet Get-member.
Un tutoriel sur le sujet.
oui cela existe.
Tu peux connaitre les events via le cmdlet Get-member.
Un tutoriel sur le sujet.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- ptit_poulet
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 7 ans 2 mois #22995
par ptit_poulet
Réponse de ptit_poulet sur le sujet Re:Réagir aux événements
Merci pour la documentation.
Au final je viens de découvrir les possibilités de WMI. Ce qui est parfait pour ce que je veux faire.
Mais je dois mal m'y prendre car je n'arrive pas à mes fins...
Lorsque je fais un :
[code:1]Get-WmiObject -Class MSFT_MpThreatDetection -Namespace root\Microsoft\Windows\Defender[/code:1]
Aucun soucis ça fonctionne.
J'ai donc voulu m'inscrire à un événement WMI afin de faire ce que je voulais. Je suis donc tomber sur cette exemple :
[code:1]$Query = \"SELECT * FROM __InstanceCreationEvent`
WITHIN 1 `
WHERE Targetinstance ISA 'Win32_Process'\"
$watcher =new-object System.Management.ManagementEventWatcher
$watcher.Query = $query
$evenement = $watcher.WaitForNextEvent()[/code:1]
L'exemple fonctionne très bien. J'ai donc tenté un :
[code:1]$Query = \"SELECT * FROM __InstanceCreationEvent`
WITHIN 1 `
WHERE Targetinstance ISA 'MSFT_MpThreatDetection'\"
$watcher =new-object System.Management.ManagementEventWatcher
$watcher.Query = $query
$evenement = $watcher.WaitForNextEvent()[/code:1]
Mais là c'est le drame...
J'ai le droit à :
[code:1]Exception lors de l'appel de « WaitForNextEvent » avec « 0 » argument(s) : « Classe non valide »
Au caractère Ligne:1 : 1
+ $evenement = $watcher.WaitForNextEvent()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : ManagementException[/code:1]
J'ai donc dû louper quelque chose...
Au final je viens de découvrir les possibilités de WMI. Ce qui est parfait pour ce que je veux faire.
Mais je dois mal m'y prendre car je n'arrive pas à mes fins...
Lorsque je fais un :
[code:1]Get-WmiObject -Class MSFT_MpThreatDetection -Namespace root\Microsoft\Windows\Defender[/code:1]
Aucun soucis ça fonctionne.
J'ai donc voulu m'inscrire à un événement WMI afin de faire ce que je voulais. Je suis donc tomber sur cette exemple :
[code:1]$Query = \"SELECT * FROM __InstanceCreationEvent`
WITHIN 1 `
WHERE Targetinstance ISA 'Win32_Process'\"
$watcher =new-object System.Management.ManagementEventWatcher
$watcher.Query = $query
$evenement = $watcher.WaitForNextEvent()[/code:1]
L'exemple fonctionne très bien. J'ai donc tenté un :
[code:1]$Query = \"SELECT * FROM __InstanceCreationEvent`
WITHIN 1 `
WHERE Targetinstance ISA 'MSFT_MpThreatDetection'\"
$watcher =new-object System.Management.ManagementEventWatcher
$watcher.Query = $query
$evenement = $watcher.WaitForNextEvent()[/code:1]
Mais là c'est le drame...
J'ai le droit à :
[code:1]Exception lors de l'appel de « WaitForNextEvent » avec « 0 » argument(s) : « Classe non valide »
Au caractère Ligne:1 : 1
+ $evenement = $watcher.WaitForNextEvent()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : ManagementException[/code:1]
J'ai donc dû louper quelque chose...
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 7 ans 2 mois #22997
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Réagir aux événements
Vérifie avec Get-WmiObject si la classe que tu recherches existe bien sur ta machine.
Sous Seven :
[code:1]Get-WmiObject MSFT_MpThreatDetection
Get-WmiObject : Classe non valide \"MSFT_MpThreatDetection\"
At line:1 char:1
+ Get-WmiObject MSFT_MpThreatDetection[/code:1]
Sous Seven :
[code:1]Get-WmiObject MSFT_MpThreatDetection
Get-WmiObject : Classe non valide \"MSFT_MpThreatDetection\"
At line:1 char:1
+ Get-WmiObject MSFT_MpThreatDetection[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- ptit_poulet
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 7 ans 2 mois #22998
par ptit_poulet
Réponse de ptit_poulet sur le sujet Re:Réagir aux événements
Alors moi je suis obligé de faire :
[code:1]Get-WmiObject -Class MSFT_MpThreatDetection -Namespace root\Microsoft\Windows\Defender[/code:1]
Si tu as Windows Defender actif tu auras surement un retour si tu as déjà eu une détection sinon cela sera vide.
Au pire un listera toutes les classes Windows Defender même si celui-ci est inactif :
[code:1]Get-WmiObject -Class * -List -Namespace root\Microsoft\Windows\Defender[/code:1]
C'est donc pour ça que je ne comprends pas pourquoi la commande plus haute ne fonctionne pas... Quelque chose m'échappe.
[code:1]Get-WmiObject -Class MSFT_MpThreatDetection -Namespace root\Microsoft\Windows\Defender[/code:1]
Si tu as Windows Defender actif tu auras surement un retour si tu as déjà eu une détection sinon cela sera vide.
Au pire un listera toutes les classes Windows Defender même si celui-ci est inactif :
[code:1]Get-WmiObject -Class * -List -Namespace root\Microsoft\Windows\Defender[/code:1]
C'est donc pour ça que je ne comprends pas pourquoi la commande plus haute ne fonctionne pas... Quelque chose m'échappe.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 7 ans 2 mois #22999
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Réagir aux événements
Probable qu'il faille préciser le namespace dans le
constructeur
.
Le tutoriel cité étant basé sur l'espace de nom par défaut si je me souviens bien.
Le tutoriel cité étant basé sur l'espace de nom par défaut si je me souviens bien.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.076 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Réagir aux événements