您可以将作业中的计数器导出为CSV吗?

时间:2015-12-15 21:51:14

标签: powershell

我正在运行以下代码来运行perfmon计数器,但无法在其Export-Counter -Path $DestinationFile -FileFormat csv输出上运行Receive-Job

Start-Job -Name GettingCounters -ScriptBlock {
    Get-Counter -Counter "\Processor(_total)\% Processor Time" -SampleInterval 1 -MaxSamples 120
}
$i = 0 
$duration = 120 
while ((Get-Job GettingCounters).State -eq 'Running') {
    #increment
    $i++ 

    #Round the numbers up for a nice output and then Write-Progress
    Write-Progress -Activity "Processing $user" -PercentComplete (($i/$duration)*100) -Status ("Gathering data...")
    Start-Sleep -Seconds 1 
}

1 个答案:

答案 0 :(得分:1)

如何不使用'Export-Counter'而是'Export-Csv'

Start-Job -Name GettingCounters -ScriptBlock {
    Get-Counter -Counter "\Processor(_total)\% Processor Time" -SampleInterval 1 -MaxSamples 3
}

while ((Get-Job GettingCounters).State -eq 'Running') {
    Start-Sleep -Seconds 1 
}

$job = Get-Job GettingCounters |Receive-Job 

# better Format-Table?
$job |Select-Object PSComputerName, Timestamp, @{Label='Readings'; Expression={$_.Readings.trim()}} |Export-Csv -Path test

# lousy cleaning
Get-Job |Remove-Job

或者,如果您不必远程运行它,而不是使用作业?

使用远程“对象”对我来说似乎有点棘手

  

但是,反序列化的对象不是活动对象。这是一个快照       它被序列化时的对象,它包含属性       但没有方法。您可以在Windows PowerShell中使用和管理这些对象,       包括在管道中传递它们,显示选定的属性,以及       格式化它们。

about_Remote_Output