Powershell - экспорт в CSV вопрос - PullRequest
4 голосов
/ 16 декабря 2009

Я пытаюсь экспортировать только числовое значение для двух счетчиков производительности в CSV. Я смог собрать что-то вместе, но мне все еще нужна помощь.

    $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

Мой CSV в конечном итоге выглядит как:

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

Я бы предпочел, чтобы это выглядело

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

Любые предложения о том, как я могу туда добраться?

1 Ответ

4 голосов
/ 16 декабря 2009

Добавьте параметр -expandproperty в командлет select-object.

выдержка:

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

Вот запись в блоге об этом параметре: http://powershellstation.com/2009/11/11/an-overlooked-parameter/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...