2009-12-16 7 views
4

J'essaye d'exporter juste la valeur numérique pour deux compteurs de performance au format CSV. J'ai été capable de construire quelque chose ensemble mais j'ai encore besoin d'aide.Powershell - Exportation au format CSV question

 
    $counter1 = "\\ygex01wal\SMTP Server(_total)\Messages Received Total" 
    $counter2 = "\\ygex01wal\SMTP Server(_total)\Messages Sent Total" 

    $data1 = Get-Counter $counter1 
    $data1cooked = $data1.countersamples | Select-Object cookedvalue 
    $data2 = Get-Counter $counter2 
    $data2cooked = $data2.countersamples | Select-Object cookedvalue 

    $object = New-Object PSObject 
    add-member -InputObject $object Noteproperty 'Received' $data1cooked 
    add-member -InputObject $object Noteproperty 'Sent' $data2cooked 

    $object | Export-Csv c:\csv.csv -NoTypeInformation 

Mon csv finit par ressembler à:

 
    "Received","Sent" 
    "@{CookedValue=2469610}","@{CookedValue=307718}" 

Je préférerais ressembler

 
    "Received","Sent" 
    "2469610","307718" 

Toutes les suggestions sur la façon dont je peux y arriver?

Répondre

4

Ajoutez le paramètre -expandproperty à la cmdlet select-object.

extrait:

$data1 = Get-Counter $counter1 
$data1cooked = $data1.countersamples | Select-Object -expandproperty cookedvalue 
$data2 = Get-Counter $counter2 
$data2cooked = $data2.countersamples | Select-Object -expandproperty cookedvalue 

Voici un blog sur ce paramètre: http://powershellstation.com/2009/11/11/an-overlooked-parameter/

Questions connexes