2014-11-05 52 views
0

很新的PowerShell,只是在這裏玩一些代碼,但遇到了一些我找不到答案。我有一個函數,獲取$ serverList包含服務器名稱和服務名稱,並返回輸出與每個服務的狀態。我在每隔幾秒鐘循環運行一次,但只有函數的第一次運行包含列牧民,之後,我只獲取數據,沒有標題。這裏有什麼交易!寫輸出循環丟失標題

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 
} 

回答

1

循環時,默認行爲是隻附加沒有標題的數據。

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 

如果您想要標題,請指定格式。

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