Quantcast
Channel: PowerShell.com – PowerShell Scripts, Tips, Forums, and Resources
Viewing all articles
Browse latest Browse all 6937

Workflow output

$
0
0

Hi

I converted a foreach to a workflow

works amazingly fast

only thing is I am struggling with output a little:)

this is the workflow:

<div class="pscode">workflow <span class="verbnoun">Test-performance</span><br /><br />        {<br /><br />            <span class="var">&#36;Servers</span><span class="op">=</span><span class="string">&quot;server1&quot;</span>,<span class="string">&quot;server2</span>
<br /><span class="string">            </span>
<br /><span class="string">            # The servers are processed in parallel.</span>
<br /><span class="string"></span>
<br /><span class="string">            ForEach -Parallel (&#36;server in &#36;servers)</span>
<br /><span class="string"></span>
<br /><span class="string">            {</span>
<br /><span class="string"></span>
<br /><span class="string">                # The commands run sequentially on each server. </span>
<br /><span class="string"></span>
<br /><span class="string">                (Get-Counter -pscomputername &#36;server -Counter &quot;</span>\Processor(_Total)\<span class="op">%</span> Processor Time&quot; <span class="modifier">-SampleInterval</span> 10 <span class="modifier">-MaxSamples</span> 1)<br /><br />                                       <br /><br />            }<br /><br />        }</div>

 

so I run it like this to get data:

$data=test-performance

what I really want is output that looks like:

Pscomputername,readings

now readings I can get by running:

$data.readings(messed up a little) I can clean it by running:

$newdata=$data.readings -replace ".*:"

so I try this:

$data |Select pscomputername,@{n="Readings";Expression={$data.readings -replace ".*:" } }| FT -autosize

but it doesn't seem to work right(I get same readings for multiple servers) I think my expression definition is not right or something.

any ideas on how to fix it?

Thanks

 

here's code again(cannot get it to work right):

 

 workflow Test-performance { $Servers="fdswp3313","fdswp3314","fdswp3315","fdswp3316","fdswp3317","fdswp3318","fdswp3319","fdswp3320","fdswp3321","fdswp3322","fdswp3323","fdswp3324" $data=@() # The servers are processed in parallel. ForEach -Parallel ($server in $servers) { # The commands run sequentially on each server. (Get-Counter -pscomputername $server -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 10 -MaxSamples 1) } }


Viewing all articles
Browse latest Browse all 6937

Trending Articles