Question
Get-counter et les variables
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 13 ans 10 mois #12309
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Get-counter et les variables
Comme ton fichier csv contient des accents, si tu veux que cela fonctionne correctement, penses à l'enregistrer au préalable au format UTF8... Sinon, après son import via 'Import-Csv', tu auras des '?' à la place des caractères accentués et donc 'Get-Counter' ne parviendra pas à trouver le compteur ...
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 13 ans 10 mois #12313
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Get-counter et les variables
J'ajoute un point ...
Comme le tableau du csv est indexé de 1 à n, il y a plus simple que :
$Selection = $Compteurs | Where-Object{$_.Indice -eq \"39\"}
Penser que le premier élément de $Compteurs commence à \"0\" :
$Selection = $Compteurs[38]
Comme le tableau du csv est indexé de 1 à n, il y a plus simple que :
$Selection = $Compteurs | Where-Object{$_.Indice -eq \"39\"}
Penser que le premier élément de $Compteurs commence à \"0\" :
$Selection = $Compteurs[38]
Connexion ou Créer un compte pour participer à la conversation.
- Nicolas Lang
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 13 ans 10 mois #12318
par Nicolas Lang
Réponse de Nicolas Lang sur le sujet Re:Get-counter et les variables
Je vais voir ça dès que possible... merci pour les infos en tout cas!
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 13 ans 10 mois #12320
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Get-counter et les variables
OK. Penses à nous faire un retour.
Sans vouloir partir dans les détails, j'ai écris certains commentaires en me basant sur la première version de fichier csv que tu avais posté : le séparateur était une tabulation. Entre temps, tu l'as modifié et le séparateur est passé au \";\". Du coup, certains de mes commentaires ne \"collent\" plus ...
Ceci n'est plus vrai :
Sans vouloir partir dans les détails, j'ai écris certains commentaires en me basant sur la première version de fichier csv que tu avais posté : le séparateur était une tabulation. Entre temps, tu l'as modifié et le séparateur est passé au \";\". Du coup, certains de mes commentaires ne \"collent\" plus ...
Ceci n'est plus vrai :
Or, ensuite, tu recherches chacune de ces valeurs, mais de nouveau avec le \";\" :
[code:1]Get-Content .\compteurs.csv | Where-Object {$_ -like ($b+\";*\"«»)[/code:1]
Cette commande ne te renvoie donc... rien !
Connexion ou Créer un compte pour participer à la conversation.
- Nicolas Lang
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 31
- Remerciements reçus 0
il y a 13 ans 10 mois #12322
par Nicolas Lang
Réponse de Nicolas Lang sur le sujet Re:Get-counter et les variables
oui oui j'ai fait un copié collé du fichier csv mis en forme dans un tableur avant de me dire que ça serait pas assez explicite pour la mise en forme alors je l'ai repris \"brut\" avec le delimiter choisi histoire qu'on soit d'accord sur les détails 
J'ai modifié ça dans la foulée, mais tu as eu le temps de le voir!
Désolé ceux qui cherchaient une solution dans ce sujet si ça ne collait plus
Quoi qu'il en soit, c'est bien mieux en passant par le import-csv, ne serait ce que pour traiter les données et pouvoir les envoyer ensuite dans des fichiers séparés!
Mon code final donne ça :
[code:1]$check = (Get-Content .\configuration.ini | Where-Object {$_ -match \"compteurs=\"}).split(\"=\"«»)
$check = $check[-1].split(\";\"«»)
$csv = Import-Csv .\compteurs.csv -Delimiter \";\" -Header Indice,Categorie,Compteur
foreach ($b in $check){$compt = $csv |Where-Object{$_.indice -eq $b}
$resultat = Get-Counter -Counter $compt.compteur
$fichier = (($resultat.Timestamp).ToShortDateString()-replace(\"/\",\".\"«»))+\" \"+$compt.categorie+\".csv\"
foreach ($chaqueresult in $resultat.countersamples){$export = ($chaqueresult.Timestamp).tostring()+\";\"+($chaqueresult.path).tostring()+\";\"+($chaqueresult.cookedvalue).tostring()
$export >> $chemin\$fichier}[/code:1]
Tout s'exporte proprement avec des jolies données exploitables dans un fichier par jour et par compteur ... bref, ça roule! Le restant ne devrait être que code&plaisir
Merci encore de l'aide!
J'ai modifié ça dans la foulée, mais tu as eu le temps de le voir!
Désolé ceux qui cherchaient une solution dans ce sujet si ça ne collait plus
Quoi qu'il en soit, c'est bien mieux en passant par le import-csv, ne serait ce que pour traiter les données et pouvoir les envoyer ensuite dans des fichiers séparés!
Mon code final donne ça :
[code:1]$check = (Get-Content .\configuration.ini | Where-Object {$_ -match \"compteurs=\"}).split(\"=\"«»)
$check = $check[-1].split(\";\"«»)
$csv = Import-Csv .\compteurs.csv -Delimiter \";\" -Header Indice,Categorie,Compteur
foreach ($b in $check){$compt = $csv |Where-Object{$_.indice -eq $b}
$resultat = Get-Counter -Counter $compt.compteur
$fichier = (($resultat.Timestamp).ToShortDateString()-replace(\"/\",\".\"«»))+\" \"+$compt.categorie+\".csv\"
foreach ($chaqueresult in $resultat.countersamples){$export = ($chaqueresult.Timestamp).tostring()+\";\"+($chaqueresult.path).tostring()+\";\"+($chaqueresult.cookedvalue).tostring()
$export >> $chemin\$fichier}[/code:1]
Tout s'exporte proprement avec des jolies données exploitables dans un fichier par jour et par compteur ... bref, ça roule! Le restant ne devrait être que code&plaisir
Merci encore de l'aide!
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 13 ans 10 mois #12323
par Matthew BETTON
Doit pouvoir s'écrire aussi :
[code:1]
(($resultat.Timestamp).ToString(\"dd.MM.yy\"«»))[/code:1]
Aussi, pour l'export, pourquoi n'utilises tu pas tout simplement la Cmdlet 'Export-Counter' :
[code:1]Get-Help Export-Counter -Full[/code:1]
Réponse de Matthew BETTON sur le sujet Re:Get-counter et les variables
[code:1](($resultat.Timestamp).ToShortDateString()-replace(\"/\",\".\"«»))[/code:1]
Doit pouvoir s'écrire aussi :
[code:1]
(($resultat.Timestamp).ToString(\"dd.MM.yy\"«»))[/code:1]
Aussi, pour l'export, pourquoi n'utilises tu pas tout simplement la Cmdlet 'Export-Counter' :
[code:1]Get-Help Export-Counter -Full[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.040 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Get-counter et les variables