Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment trier les informations de proprietes d'une classe ?

13 réponses
Avatar
merlin01fr
Bonjour a tous

En fait j'ai deux questions :

j'ai recuperé dans le scriptcenter un programme qui permet d'extraire les
journaux d'evenement , je l'ai readapté comme suit pour une extraction en csv
(l'extraction vers csv , je la fait en ligne de commande je sais pas la faire
autrement)

strComputer = "."

Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_NTLogEvent")

WScript.Echo "Fichier de consignation" & ";" & _
"Numéro d'enregistrement" & ";" & _
"Type" & ";" & _
"Heure généré" & ";" & _
"Source" & ";" & _
"Catégorie" & ";" & _
"Chaîne de catégorie" & ";" & _
"Événement" & ";" & _
"Utilisateur" & ";" & _
"Ordinateur" & ";" & _
"Message"

For Each wbemObject In wbemObjectSet

WScript.Echo wbemObject.LogFile & ";" & _
wbemObject.RecordNumber & ";" & _
wbemObject.Type & ";" & _
wbemObject.TimeGenerated & ";" & _
wbemObject.SourceName & ";" & _
wbemObject.Category & ";" & _
wbemObject.CategoryString & ";" & _
wbemObject.EventCode & ";" & _
wbemObject.User & ";" & _
wbemObject.ComputerName & ";" & _
wbemObject.Message
Next

mes questions sont les suivantes :

1 - Comment trier la propriete wbemObject.Type ?
pour lui demander de ne me garder que les type error par
exemple ainsi
que les autres proprietes de la ligne contenant error.

2 - Comment virer tous les retours chariot de wbemObject.Message ?
sauf le dernier (par passage de boucle) de cette propriete.

En vous remerciant par avance :)

10 réponses

1 2
Avatar
merlin01fr
bonjour

je comprends que ce soit compliqué meme pour vous , mais je me contenterais
juste d'une piste , enfin si vous avez le temps :))

cordialement



Bonjour a tous

En fait j'ai deux questions :

j'ai recuperé dans le scriptcenter un programme qui permet d'extraire les
journaux d'evenement , je l'ai readapté comme suit pour une extraction en csv
(l'extraction vers csv , je la fait en ligne de commande je sais pas la faire
autrement)

strComputer = "."

Set wbemServices = GetObject("winmgmts:" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_NTLogEvent")

WScript.Echo "Fichier de consignation" & ";" & _
"Numéro d'enregistrement" & ";" & _
"Type" & ";" & _
"Heure généré" & ";" & _
"Source" & ";" & _
"Catégorie" & ";" & _
"Chaîne de catégorie" & ";" & _
"Événement" & ";" & _
"Utilisateur" & ";" & _
"Ordinateur" & ";" & _
"Message"

For Each wbemObject In wbemObjectSet

WScript.Echo wbemObject.LogFile & ";" & _
wbemObject.RecordNumber & ";" & _
wbemObject.Type & ";" & _
wbemObject.TimeGenerated & ";" & _
wbemObject.SourceName & ";" & _
wbemObject.Category & ";" & _
wbemObject.CategoryString & ";" & _
wbemObject.EventCode & ";" & _
wbemObject.User & ";" & _
wbemObject.ComputerName & ";" & _
wbemObject.Message
Next

mes questions sont les suivantes :

1 - Comment trier la propriete wbemObject.Type ?
pour lui demander de ne me garder que les type error par
exemple ainsi
que les autres proprietes de la ligne contenant error.

2 - Comment virer tous les retours chariot de wbemObject.Message ?
sauf le dernier (par passage de boucle) de cette propriete.

En vous remerciant par avance :)


Avatar
Sebastian
merlin01fr wrote:
bonjour

je comprends que ce soit compliqué meme pour vous , mais je me contenterais
juste d'une piste , enfin si vous avez le temps :))


ok :-)
je connais très mal vbscript (sa syntaxe me fait vomir) mais en
rajoutant un test avant d'écrire chaque événement, ça doit le faire.

For Each wbemObject In wbemObjectSet



tester à cet endroit si wbemObject.Type est égal à error et si oui, écrire.

WScript.Echo wbemObject.LogFile & ";" & _
wbemObject.RecordNumber & ";" & _
wbemObject.Type & ";" & _
wbemObject.TimeGenerated & ";" & _
wbemObject.SourceName & ";" & _
wbemObject.Category & ";" & _
wbemObject.CategoryString & ";" & _
wbemObject.EventCode & ";" & _
wbemObject.User & ";" & _
wbemObject.ComputerName & ";" & _
wbemObject.Message
Next

1 - Comment trier la propriete wbemObject.Type ?
pour lui demander de ne me garder que les type error par
exemple ainsi
que les autres proprietes de la ligne contenant error.




Avatar
merlin01fr
bonjour et merci sebastian pour ta reponse :)) (deux jours que j'attend qu'on
me jette un regard) :)

cela dit ca je le savais deja :-)) (qu'il fallasses que je fasses un test,
mon probleme n'est pas sur le fait qu'il me retourne un valeur vrai si le mot
"erreur" est trouvé , mais qu'il sortasses de cette fichue boucle si la
valeur etait fausses de maniere a retester la ligne suivante.


cordialement

merlin01fr wrote:
bonjour

je comprends que ce soit compliqué meme pour vous , mais je me contenterais
juste d'une piste , enfin si vous avez le temps :))


ok :-)
je connais très mal vbscript (sa syntaxe me fait vomir) mais en
rajoutant un test avant d'écrire chaque événement, ça doit le faire.

For Each wbemObject In wbemObjectSet



tester à cet endroit si wbemObject.Type est égal à error et si oui, écrire.

WScript.Echo wbemObject.LogFile & ";" & _
wbemObject.RecordNumber & ";" & _
wbemObject.Type & ";" & _
wbemObject.TimeGenerated & ";" & _
wbemObject.SourceName & ";" & _
wbemObject.Category & ";" & _
wbemObject.CategoryString & ";" & _
wbemObject.EventCode & ";" & _
wbemObject.User & ";" & _
wbemObject.ComputerName & ";" & _
wbemObject.Message
Next

1 - Comment trier la propriete wbemObject.Type ?
pour lui demander de ne me garder que les type error par
exemple ainsi
que les autres proprietes de la ligne contenant error.







Avatar
merlin01fr
bonjour

je comprends pas vraiment la ...

je suis redirigé vers un site pharmaceutique, es ce une facon de me dire que
mes messages manquaient de courtoisie et qu'il est preferable que je me calme
???

1 - je suis tres calme (un peu debousolé pour l'instant) mais tres calme.

2 - dans mes messages j'y est inclu des smileys (genre :) ou :)) ) qui sont
des sourires ou grands sourires.

3 - c'est pas censé etre un forum d'entre-aide ici ?

Cordialement (mais quand meme)


Bonsoir !

Tu devrais regarder ça :
http://www.avenzor.com/modules.php?op=modload&name=My_eGallery&file=index&do=showpic&pidQ&orderby >
@-salutations

Michel Claveau




Avatar
Paskal
Bonjour merlin01fr


bonjour et merci sebastian pour ta reponse :)) (deux jours que
j'attend qu'on me jette un regard) :)

cela dit ca je le savais deja :-)) (qu'il fallasses que je fasses un
test, mon probleme n'est pas sur le fait qu'il me retourne un valeur
vrai si le mot "erreur" est trouvé , mais qu'il sortasses de cette
fichue boucle si la valeur etait fausses de maniere a retester la
ligne suivante.


Je ne comprends pas trop ton problème : en incluant la condition dans la
boucle (comme suggérait sébastian), cela fonctionne correctement, non ?


strComputer = "."

Set wbemServices = GetObject("winmgmts:" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_NTLogEvent")

WScript.Echo "Fichier de consignation" & ";" & _
"Numéro d'enregistrement" & ";" & _
"Type" & ";" & _
"Heure généré" & ";" & _
"Source" & ";" & _
"Catégorie" & ";" & _
"Chaîne de catégorie" & ";" & _
"Événement" & ";" & _
"Utilisateur" & ";" & _
"Ordinateur" & ";" & _
"Message"

For Each wbemObject In wbemObjectSet

If wbemObject.Type = "Erreur" Then WScript.Echo _
wbemObject.LogFile & ";" & _
wbemObject.RecordNumber & ";" & _
wbemObject.Type & ";" & _
wbemObject.TimeGenerated & ";" & _
wbemObject.SourceName & ";" & _
wbemObject.Category & ";" & _
wbemObject.CategoryString & ";" & _
wbemObject.EventCode & ";" & _
wbemObject.User & ";" & _
wbemObject.ComputerName & ";" & _
wbemObject.Message

Next



--
@+
Paskal [MVP]
http://www.faqOE.com

Avatar
Jacques Barathon [MS]
"merlin01fr" wrote in message
news:
<snip>
mes questions sont les suivantes :

1 - Comment trier la propriete wbemObject.Type ?
pour lui demander de ne me garder que les type error par
exemple ainsi
que les autres proprietes de la ligne contenant error.


Plutôt que de tout récupérer et ensuite faire un tri, tu peux ne récupérer
que les évènements qui t'intéressent en utilisant une requête formulée en
WQL. Voir les exemples fournis sur cette page:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/querying_with_wql.asp

Jacques

Avatar
merlin01fr
bonjour

merci pour ta reponse , je penses que c'est la dedans que je trouverais mon
bonheur :)

cordialement


"merlin01fr" wrote in message
news:
<snip>
mes questions sont les suivantes :

1 - Comment trier la propriete wbemObject.Type ?
pour lui demander de ne me garder que les type error par
exemple ainsi
que les autres proprietes de la ligne contenant error.


Plutôt que de tout récupérer et ensuite faire un tri, tu peux ne récupérer
que les évènements qui t'intéressent en utilisant une requête formulée en
WQL. Voir les exemples fournis sur cette page:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/querying_with_wql.asp

Jacques






Avatar
Do Re Mi chel La Si Do
'soir !

Le site présente un médicament anti-vomitif ; il répondait au message de
Sebastian, qui avait des nausées syntaxiques...

@-salutations

Michel Claveau
Avatar
Th.A.C

je comprends pas vraiment la ...

je suis redirigé vers un site pharmaceutique, es ce une facon de me dire que
mes messages manquaient de courtoisie et qu'il est preferable que je me calme
???
:-) la réponse est adressée à sebastian.

Le médicament est un anti-vomitique (ca se dit ca?) ;-)

Avatar
Sebastian
Do Re Mi chel La Si Do wrote:
Le site présente un médicament anti-vomitif ; il répondait au message de
Sebastian, qui avait des nausées syntaxiques...


Michel,
pourrais-tu svp respecter la charte en reprenant un minimum le message
précédent de manière à lever toute ambiguité et faciliter la compréhension.
ne t-inquiètes pas pour ma santé, je ferme les yeux dans la mesure du
possible quand je vois passer un code en vbscript et j'évite tout
médicamment commercial inutile. le trou de la sécu est assez grand comme
ça ;-)

1 2