Question
script sans console
- Nicolas
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 27
- Remerciements reçus 0
il y a 13 ans 2 mois #13551
par Nicolas
script sans console a été créé par Nicolas
Bonjour à tous,
Je suis face a un problème que je suis sur est tout bête mais impossible de trouver la solution.
J'ai un script complet qui est fini et qui fonctionne a merveille. jusque la tout va bien
J'ai register-wmi qui ecoute mes logs et qui applique la suite de mon script lorsqu'il recoit un certain log.
quand je le lance en dotsourcing
[code:1]. .\monscript.ps1[/code:1]
Tout fonctionne a merveille .
Mon problème est là quand je ferme la console plus rien ne va.
j'aimerais que ce script tourne non-stop sur mon serveur sans que je sois obliger de laisse ouvert une fenetre powershell.
J'ai déja esseye lance mon script en tant que service en suivant ce tuto
netnegotiations.com/gwblog/?p=108
tout se lance bien je n'ai pas d'erreur mais mon script ne tourne pas
Merci d'avance pour vos réponses
bàv
Nico.
Je suis face a un problème que je suis sur est tout bête mais impossible de trouver la solution.
J'ai un script complet qui est fini et qui fonctionne a merveille. jusque la tout va bien
J'ai register-wmi qui ecoute mes logs et qui applique la suite de mon script lorsqu'il recoit un certain log.
quand je le lance en dotsourcing
[code:1]. .\monscript.ps1[/code:1]
Tout fonctionne a merveille .
Mon problème est là quand je ferme la console plus rien ne va.
j'aimerais que ce script tourne non-stop sur mon serveur sans que je sois obliger de laisse ouvert une fenetre powershell.
J'ai déja esseye lance mon script en tant que service en suivant ce tuto
netnegotiations.com/gwblog/?p=108
tout se lance bien je n'ai pas d'erreur mais mon script ne tourne pas
Merci d'avance pour vos réponses
bàv
Nico.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 2 mois #13559
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:script sans console
Zarko écrit:
Tu ne peux donc plus avoir d'oeufs si tu tues la poule
Regarde (cf. mon tuto sur WMI) si un gestionnaire d'event permanent peut suffire.
J'avais comme idée de projet de créer un service Windows générique pour exécuter un script PS et autorisant + instances.
Un jour...
Le prérequis à l'exécution d'un script PS1 est l'accès à une session Powershell (un runspace).j'aimerais que ce script tourne non-stop sur mon serveur sans que je sois obliger de laisse ouvert une fenetre powershell.
Tu ne peux donc plus avoir d'oeufs si tu tues la poule
Regarde (cf. mon tuto sur WMI) si un gestionnaire d'event permanent peut suffire.
J'avais comme idée de projet de créer un service Windows générique pour exécuter un script PS et autorisant + instances.
Un jour...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Nicolas
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 27
- Remerciements reçus 0
il y a 13 ans 2 mois #13574
par Nicolas
Réponse de Nicolas sur le sujet Re:script sans console
La solution sur un client d'evenement me parait parfait cependant j'ai un peu de mal a la mettre en place le tuto est assez ardu je dois dire 
voila l erreur que j'obtiens
[code:1]Exception calling \"Put\" with \"0\" argument(s): \"Illegal null value \"
At line:32 char:26
+ $Filtre_EventConsumer.put <<<< ()
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException[/code:1]
et mon code
[code:1]$ScriptFile=\"C:\Users\Administrator\Desktop\Script Firewall\FirewallV2.ps1\"
$Cmdln=\"powershell.exe -command $ScriptFile %TargetInstance.Handle%\"
$Path=\"C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe\"
$ConsumerClass = [wmiclass]\"\root\subscription:CommandLineEventConsumer\"
$EventConsumer = $ConsumerClass.CreateInstance()
$EventConsumer.Name = \"PowerShell\"
$EventConsumer.CommandLineTemplate =$Cmdln
$EventConsumer.ExecutablePath=$path
$EventConsumer.ForceOffFeedback=$False
$EventConsumer.ForceOnFeedback=$True
$EventConsumer.RunInteractively=$True
$EventConsumer.ShowWindowCommand=1
$EventConsumer.UseDefaultErrorMode=$True
$FiltreClass = [wmiclass]\"\root\subscription:__EventFilter\"
$Filtre = $FiltreClass.CreateInstance()
$Filtre.Name = \"CreationProcess\"
$Filtre.Querylanguage = \"WQL\"
$Filtre.Query = \"SELECT * FROM __instancecreationevent
WITHIN 3
WHERE targetinstance ISA 'Win32_NTLogEvent'
AND targetinstance.logfile='Security'
AND targetinstance.Eventcode='4625'\"
$Filtre.EventNamespace = \"root\cimv2\"
$ResultFiltre=$Filtre.Put()
$AssociationClass=[wmiclass]\"\root\subscription:__FilterToConsumerBinding\"
$Filtre_EventConsumer = $AssociationClass.createinstance()
$Filtre_EventConsumer.Consumer = $ResultEventConsumer.Path
$Filtre_EventConsumer.Filter = $ResultFiltre.Path
$Filtre_EventConsumer.put()[/code:1]
J'ai bien vu qu'on en parle dans le script mais je comprend pas la solution qui est donné dans ton tuto sorry
merci d'avance
Message édité par: Zarko, à: 9/01/13 15:09<br><br>Message édité par: Zarko, à: 9/01/13 15:21
voila l erreur que j'obtiens
[code:1]Exception calling \"Put\" with \"0\" argument(s): \"Illegal null value \"
At line:32 char:26
+ $Filtre_EventConsumer.put <<<< ()
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException[/code:1]
et mon code
[code:1]$ScriptFile=\"C:\Users\Administrator\Desktop\Script Firewall\FirewallV2.ps1\"
$Cmdln=\"powershell.exe -command $ScriptFile %TargetInstance.Handle%\"
$Path=\"C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe\"
$ConsumerClass = [wmiclass]\"\root\subscription:CommandLineEventConsumer\"
$EventConsumer = $ConsumerClass.CreateInstance()
$EventConsumer.Name = \"PowerShell\"
$EventConsumer.CommandLineTemplate =$Cmdln
$EventConsumer.ExecutablePath=$path
$EventConsumer.ForceOffFeedback=$False
$EventConsumer.ForceOnFeedback=$True
$EventConsumer.RunInteractively=$True
$EventConsumer.ShowWindowCommand=1
$EventConsumer.UseDefaultErrorMode=$True
$FiltreClass = [wmiclass]\"\root\subscription:__EventFilter\"
$Filtre = $FiltreClass.CreateInstance()
$Filtre.Name = \"CreationProcess\"
$Filtre.Querylanguage = \"WQL\"
$Filtre.Query = \"SELECT * FROM __instancecreationevent
WITHIN 3
WHERE targetinstance ISA 'Win32_NTLogEvent'
AND targetinstance.logfile='Security'
AND targetinstance.Eventcode='4625'\"
$Filtre.EventNamespace = \"root\cimv2\"
$ResultFiltre=$Filtre.Put()
$AssociationClass=[wmiclass]\"\root\subscription:__FilterToConsumerBinding\"
$Filtre_EventConsumer = $AssociationClass.createinstance()
$Filtre_EventConsumer.Consumer = $ResultEventConsumer.Path
$Filtre_EventConsumer.Filter = $ResultFiltre.Path
$Filtre_EventConsumer.put()[/code:1]
J'ai bien vu qu'on en parle dans le script mais je comprend pas la solution qui est donné dans ton tuto sorry
merci d'avance
Message édité par: Zarko, à: 9/01/13 15:09<br><br>Message édité par: Zarko, à: 9/01/13 15:21
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 13 ans 2 mois #13580
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:script sans console
Zarko écrit:
Zarko écrit:
A mon avis, ce n'est pas le tuto c'est plus l'implémentation 'verbeuse'. Il existe un projet cdoeplex sur les gestio nde event WMI, regarde si cela simplifiera ton code.cependant j'ai un peu de mal a la mettre en place le tuto est assez ardu je dois dire
Zarko écrit:
Je ne l'ai pas sous les yeux, de tête, exécute 2 fois l'appel à Put ?mais je comprend pas la solution qui est donné dans ton tuto
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Nicolas
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 27
- Remerciements reçus 0
il y a 13 ans 2 mois #13581
par Nicolas
Réponse de Nicolas sur le sujet Re:script sans console
J'ai édité mon message avant avec mon code que j'ai tiré de ton tuto je sais pas si tu avais vu 
Effectivement je suis occupé justement de teste ce script mais je dois faire des test parce que j ai pas l impression que ca fonctionne avec ma requete WQL
Message édité par: Zarko, à: 9/01/13 15:28
Même ave ce script ca ne foncitonne pas
[code:1]$filter = new-wmieventfilter -name \"TEST1\" -query \"SELECT * FROM __instancecreationevent
WITHIN 3
WHERE targetinstance ISA 'Win32_NTLogEvent'
AND targetinstance.logfile='Security'
AND targetinstance.Eventcode='4625'\"
$action= Write-Host \"reussi\"
$consumer = new-wmieventconsumer -name \"testc\" -consumertype script -scriptexte {$action}
new-wmifiltertoconsumerbinding -filter $filter -consumer $consumer[/code:1]<br><br>Message édité par: Zarko, à: 9/01/13 15:44
Effectivement je suis occupé justement de teste ce script mais je dois faire des test parce que j ai pas l impression que ca fonctionne avec ma requete WQL
Message édité par: Zarko, à: 9/01/13 15:28
Même ave ce script ca ne foncitonne pas
[code:1]$filter = new-wmieventfilter -name \"TEST1\" -query \"SELECT * FROM __instancecreationevent
WITHIN 3
WHERE targetinstance ISA 'Win32_NTLogEvent'
AND targetinstance.logfile='Security'
AND targetinstance.Eventcode='4625'\"
$action= Write-Host \"reussi\"
$consumer = new-wmieventconsumer -name \"testc\" -consumertype script -scriptexte {$action}
new-wmifiltertoconsumerbinding -filter $filter -consumer $consumer[/code:1]<br><br>Message édité par: Zarko, à: 9/01/13 15:44
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.047 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- script sans console