Monday 15 February 2010

powershell - write-output in loop losing header -



powershell - write-output in loop losing header -

pretty new powershell , playing code here ran cannot find reply to. have function gets $serverlist containing server name , service name , returns output status of each service. have in loop running every few seconds, first run of function contains column herders, after data, no headers. what's deal here!

function servicestatus() { $objoutput = @() foreach ($objrecord in $serverlist) { $obj = new-object system.object $servicestatus = get-service -computername $objrecord.server -name $objrecord.service $obj | add-member -membertype noteproperty -name server -value $objrecord.server $obj | add-member -membertype noteproperty -name service -value $objrecord.service $obj | add-member -membertype noteproperty -name status -value $servicestatus.status write-output $obj } } for(;;) { $currentdate = get-date clear-host write-host service checked: $currentdate servicestatus start-sleep -milliseconds 5000 }

when looping, default behavior append info without headers.

ps:> while (1) { start-sleep 1; get-process powershell} handles npm(k) pm(k) ws(k) vm(m) cpu(s) id processname ------- ------ ----- ----- ----- ------ -- ----------- 487 34 100608 107400 636 8.07 4916 powershell 450 34 100632 107824 636 8.08 4916 powershell 450 34 100632 107872 636 8.08 4916 powershell 452 34 100948 108188 636 8.08 4916 powershell 450 34 101264 108504 636 8.08 4916 powershell

specify format if want headers.

ps:> while (1) { start-sleep 1; get-process powershell|ft} handles npm(k) pm(k) ws(k) vm(m) cpu(s) id processname ------- ------ ----- ----- ----- ------ -- ----------- 512 34 102592 106756 636 8.16 4916 powershell handles npm(k) pm(k) ws(k) vm(m) cpu(s) id processname ------- ------ ----- ----- ----- ------ -- ----------- 463 34 103164 107340 636 8.17 4916 powershell

powershell

No comments:

Post a Comment