2017-03-27 6 views
0

J'essaie d'aller chercher les compteurs Perfmon et d'exporter les données dans un fichier csv.Formatage des données de sortie dans csv à partir du script PowerShell

$pg_co = "\Processor(_total)\% processor time" 
$pg_Da = Get-Counter $pg_co 

$pg_Da.counterSamples | Select-Object TimeStamp, CookedValue, RawValue | Export-CSV "D:\Qemu\test1.csv" -Append -NoTypeInformation 

$pg_co = "\Memory\Available MBytes" 
$pg_Da = Get-Counter $pg_co 

$pg_Da.counterSamples | Select-Object TimeStamp, CookedValue, RawValue | Export-CSV "D:\Qemu\test1.csv" -Append -NoTypeInformation 

Mais je suis incapable de mettre ces valeurs dans des colonnes individuelles. Les données sont remplacées (ou dans les lignes suivantes si j'inclue -Append). Lorsque j'interroge le compteur pour la deuxième fois, comment puis-je le mettre dans une nouvelle colonne? Par exemple, je voudrais que le csv ressemble à ceci, peut-être avec un nom de colonne différent comme CookedValue2 ou n'importe quoi. The expect outlook of csv file Toute aide serait grandement appréciée

+0

Cela ressemble à ça marcherait très bien. Le fichier csv contenait-il déjà des informations avant l'exécution de ce code? Ou voulez-vous dire que vous voulez transposer les données afin que les lignes apparaissent comme des colonnes? Je ne suis pas sûr de ce que vous voyez et de ce qui ne va pas. Quelques exemples seraient utiles ici. Parce que si vous voulez transposer ce qui n'est plus un CSV – Matt

+0

Pour ceux qui veulent vous aider mais ne sont pas familiers avec perfmon (par exemple les utilisateurs de Linux) il serait gret si vous incluez des exemples de données. – Clijsters

+0

J'ai juste inclus une image, de ce que j'attends, https://i.stack.imgur.com/MElpx.png. – San852

Répondre

0

Essayez ceci:

$pg_co1 ="\Processor(_total)\% processor time" 
$pg_Da1 = Get-Counter $pg_co1 

$pg_co2 ="\Memory\Available MBytes" 
$pg_Da2 = Get-Counter $pg_co 

$csv = New-Object -TypeName PSObject 

Add-Member -InputObject $csv -MemberType NoteProperty -Name "TimeStamp" -Value $pg_Da1.Timestamp 
Add-Member -InputObject $csv -MemberType NoteProperty -Name "CookiedValue1" -Value $pg_Da1.CounterSamples[0].CookedValue 
Add-Member -InputObject $csv -MemberType NoteProperty -Name "CookiedValue2" -Value $pg_Da2.CounterSamples[0].CookedValue 
Add-Member -InputObject $csv -MemberType NoteProperty -Name "RawValue1" -Value $pg_Da1.CounterSamples[0].RawValue 
Add-Member -InputObject $csv -MemberType NoteProperty -Name "RawValue2" -Value $pg_Da2.CounterSamples[0].RawValue 

$csv | Export-Csv "D:\Qemu\test1.csv" -NoTypeInformation -Append 

-il ce genre de csv:

"TimeStamp","CookiedValue1","CookiedValue2","RawValue1","RawValue2" 
"27.03.2017 16:33:21","3,91259176894325","0,782341394244668","450438906250","450448828125" 
+0

Merci beaucoup. Ceci est exactement ce que je cherchais. Merci encore. – San852