Question Réagir aux événements

Plus d'informations
il y a 7 ans 2 mois #22988 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.

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

Plus d'informations
il y a 7 ans 2 mois #22990 par Laurent Dardenne
Salut,
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.

Plus d'informations
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...

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

Plus d'informations
il y a 7 ans 2 mois #22997 par Laurent Dardenne
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]

Tutoriels PowerShell

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

Plus d'informations
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.

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

Plus d'informations
il y a 7 ans 2 mois #22999 par Laurent Dardenne
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.

Tutoriels PowerShell

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

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